环境
- 本地环境(dev)
- 测试环境(test)
- 预生产环境(pre-pro)
- 生产环境(pro)
不同环境对应不同的文件夹
SpringBoot有profiles功能的支持,我们将此功能加入进来
- 在resources下创建/dev文件夹,在dev文件夹下创建
application.properties和application-dev.properties
在resources下创建dev、teest、pro等文件夹是为了maven打包多环境用的.
在本地开发运行时需要在resources下创建一个和打包环境文件夹里相同的文件,因为profiles原因所以需要,创建dev、test、pro是为maven打包用的,而在resources下创建相关文件是为了多功能环境开发或者调试用的
#application.properties文件内容
spring.profiles.active=dev
------------------------分割线----------------------------
#application-dev.properties文件内容
#数据库相关配置
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
具体配置各求所需,这里就不一一列举了
测试和生产大同小异,同上只需修改配置值即可,dev对应本地配置、test对应测试配置、pro对应生产配置
application-xx.properties 为固定写法,比如application-test.properties
就是测试环境配置文件的命名
- 在pom.xml文件加入相关配置如下。此配置加入到 < build > 标签里
<resources>
<resource>
<directory>src/main/resources</directory>
<!-- 资源根目录排除各环境的配置,使用单独的资源目录来指定 -->
<excludes>
<exclude>pro/*</exclude>
<exclude>dev/*</exclude>
<exclude>test/*</exclude>
<!--
因为配置profiles原因,我们在打包不希望将如下文件打包进去,所以打包时注释掉即可
如果是本地开发运行需要去掉注释
-->
<!--<exclude>application-pro.properties</exclude>-->
<!--<exclude>application-test.properties</exclude>-->
<!--<exclude>application-dev.properties</exclude>-->
</excludes>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/resources/${profiles.active}</directory>
</resource>
</resources>
#profiles配置和<build>同级
<profiles>
<profile>
<!-- 本地开发环境 -->
<id>dev</id>
<properties>
<profiles.active>dev</profiles.active>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<!-- 测试环境 -->
<id>test</id>
<properties>
<profiles.active>test</profiles.active>
</properties>
</profile>
<profile>
<!-- 生产环境 -->
<id>pro</id>
<properties>
<profiles.active>pro</profiles.active>
</properties>
</profile>
</profiles>
然后选中对应的环境执行maven相关操作即可,博主用的IDEA
如果您用的是eclipse的话,执行maven命令即可,如:clean package -Ppro就是打包pro环境
如有不妥之处欢迎各路大神批评指正