一、概述

  在开发过程中,我们的项目会存在不同的开发环境,比如开发环境、生产环境、测试环境,而我们的项目在不同的环境中有些配置也是不一样的,比如数据源配置、日志文件配置等,假如我们每次将软件部署到不同的环境时,都需要对相应的配置文件进行修改,来来回回修改,很容易出现少改的地方,而且浪费我们的劳动力。项目用的maven的profile来区别不同的环境配置,我也正好来学习一下。

二、数据准备

  数据准备:准备3个数据库、数据库名为test_db、表名都为student,只是数据不同。

(1)192.168.229.134

(2)192.168.229.133

(3)192.168.229.132

三、应用演示

  在本次演示中,使用IDEA结合maven的profile来实现对数据库的切换以及应用端口的切换。工程结构如图:

(1)父pom文件的profile配置

 <!--配置不同的profile,对应不同的生产环境-->
<profiles>
<profile>
<!--开发-->
<id>dev</id>
<activation>
<!--默认开发环境-->
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<activatedProperties>dev</activatedProperties>
</properties>
</profile>
<profile>
<!--生产-->
<id>pro</id>
<properties>
<activatedProperties>pro</activatedProperties>
</properties>
</profile>
<profile>
<!--生产-->
<id>test</id>
<properties>
<activatedProperties>test</activatedProperties>
</properties>
</profile>
</profiles>

(2)application.properties的配置

spring.profiles.active=@activatedProperties@  //这里名称与profile中的标签名一致

(3)application-xxx.properties的配置(3个基本一致,数据库地址和应用上下文根不同)

(4)测试

①默认情况:父pom中已指定默认情况为开发环境,连接192.168.229.132数据,学生名应该为王五,上下文根为/dev-app,启动springboot测试如下:

打开浏览器访问:localhost/dev-app/all?base=1

②指定测试环境,编辑启动配置添加:-Dspring.profiles.active=test

启动程序,查看控制台日志如下

打开浏览器访问:http://localhost/test-app/all?base=1,连接192.168.229.134数据,学生名应该为张三

③指定生产环境:-Dspring.profiles.active=test,控制日志如下:

浏览器访问:http://localhost/pro-app/all?base=1

IDEA结合Maven的profile构建不同开发环境(SpringBoot)的更多相关文章

  1. 使用Intellij IDEA构建spark开发环境

    近期开始研究学习spark,开发环境有多种,由于习惯使用STS的maven项目,但是按照许多资料的方法尝试以后并没有成功,也可能是我环境问题:也可以是用scala中自带的eclipse,但是不太习惯, ...

  2. 使用Maven搭建Struts2框架的开发环境

    一.创建基于Maven的Web项目

  3. Eclipse中构建scala开发环境的步骤

    Eclipse是一款非常使用的开发工具,熟悉它的童鞋应该都知道,它不仅是最常用的android开发工具,还是最常用的Java开发工具.既然eclipse如此重要,本文小编就和大家一起来扒一扒在ecli ...

  4. maven实战(01)_搭建开发环境

    一 下载maven 在maven官网上可下载maven:http://maven.apache.org/download.cgi 下载好后,解压.我的解压到了:D:\maven\apache-mave ...

  5. 从源代码构建 Go 开发环境

    从源代码构建 Go 开发环境 Go 1.5 之前的版本 安装C 语言开发环境 在Go 1.5 之前的版本(比如 1.3.1.4),都会部分的依赖 C 语言的工具链,所以如果你有C 语言的开发环境,就可 ...

  6. Python黑帽编程1.2 基于VS Code构建Python开发环境

    Python黑帽编程1.2  基于VS Code构建Python开发环境 0.1  本系列教程说明 本系列教程,采用的大纲母本为<Understanding Network Hacks Atta ...

  7. Vagrant 构建 Linux 开发环境

    Vagrant 是一个简单易用的部署工具,用英文说应该是 Orchestration Tool .它能帮助开发人员迅速的构建一个开发环境,帮助测试人员构建测试环境, Vagrant 基于 Ruby 开 ...

  8. gulp + gulp-better-rollup + rollup 构建 ES6 开发环境

    gulp + gulp-better-rollup + rollup 构建 ES6 开发环境 关于 Gulp 就不过多啰嗦了.常用的 js 模块打包工具主要有 webpack.rollup 和 bro ...

  9. 使用create-react-app 快速构建 React 开发环境以及react-router 4.x路由配置

    create-react-app 是来自于 Facebook,通过该命令我们无需配置就能快速构建 React 开发环境. create-react-app 自动创建的项目是基于 Webpack + E ...

随机推荐

  1. Feign的介绍与使用(五)

    一.Feign的介绍 Feign是一个声明式 WebService 客户端,使用Feign能够让编写Web Service 客户端更加简单,它的使用方法是定义一个接口,然后在上面添加注解,同时也支持J ...

  2. 数据驱动表格| 根据json数据,自动生成合并式table

    1.数据驱动表格 2.数据驱动表格(2)

  3. 第九章 基于HTTP的功能追加协议

    第九章 基于HTTP的功能追加协议 通过在HTTP的基础上添加新的功能来提高性能和功能. 一.消除HTTP瓶颈的SPDY SPDY(SPeeDY)目的是提高HTTP性能,缩短Web页面的加载时间(50 ...

  4. python--小确幸

    #把手机号中间四位隐藏 def change_number(number): hiding_number=number.replace(number[3:7],'*'*4) print(hiding_ ...

  5. Idea Intellij 终生破解版

    关于Idea Intellij 2018.3.2 破解问题,之前采用 jetbrains-agent.jar  破解,目前该插件已经失效,为了永久终生破解使用Idea,本篇文章提供JetbrainsI ...

  6. RocketMQ的顺序消费和事务消费

    一.三种消费 :1.普通消费 2. 顺序消费 3.事务消费 1.1  顺序消费:在网购的时候,我们需要下单,那么下单需要假如有三个顺序,第一.创建订单 ,第二:订单付款,第三:订单完成.也就是这个三个 ...

  7. spring 事务 XML

    事务就是AOP的很典型的应用.(原来需要自己写代码前开启关闭事务,现在通过spring的配置) 所以必要要有<aop:config>,<aop:config>里面要有<a ...

  8. python每日学习2018/1/14(python之禅)

    The Zen of Python, by Tim Peters   Beautiful is better than ugly. Explicit is better than implicit. ...

  9. 转 推荐 33 个 IDEA 最牛配置,写代码太爽了!

    本文由 简悦 SimpRead 转码, 原文地址 https://mp.weixin.qq.com/s/neyvJouuG1Rmxn3BwfRXVg 作者:琦彦 blog.csdn.net/fly91 ...

  10. 一个简单的利用 WebClient 异步下载的示例(三)

    继续上一篇 一个简单的利用 WebClient 异步下载的示例(二) 后,继续优化它. 1. 直接贴代码了: DownloadEntry: public class DownloadEntry { p ...