目录
- 一、springboot的profile配置
- profile多配置文件
- 二、maven的profiles策略
我们在使用spring的时候,一般都会有不同的环境需要部署:开发环境、测试环境和验收环境,而不同的环境则会有不同的配置,比如数据库ip。解决这个问题,我所熟悉的有两种策略:
- springboot的profile参数配置
- pom文件的resource & profile配置
DEV环境:DEV顾名思义就是develop,即代码开发的环境。
SIT环境:System Integration Test系统集成测试,开发人员自己测试流程是否走通。
UAT环境:User Acceptance Test用户验收测试,由专门的测试人员验证,验收完成才能上生产环境。
一、springboot的profile配置
Spring Profiles 允许用户根据环境配置来读取不同的配置文件(dev,sit,uat 等),可以通过激活、指定参数等方式快速切换环境。
profile多配置文件
在Spring Boot中多环境配置文件名需要满足application-{profile}.properties的格式,其中{profile}对应你的环境标识,比如:
application.properties:主配置文件
application-dev.properties:开发环境
application-sit.properties:测试环境
application-uat.properties:验收环境
至于哪个具体的配置文件会被加载,需要在application.properties文件中通过spring.profiles.active属性来设置,其值对应{profile}值。
有人会提问为啥要这样命名
application-dev.properties:开发环境
server.port=9001
application-sit.properties:测试环境
server.port=9002
application-uat.properties:验收环境
server.port=9003
application.properties:主配置文件
spring.profiles.active=sit
测试成功
二、maven的profiles策略
pom文件配置
<profiles>
<profile>
<!-- 开发环境 -->
<id>dev</id>
<properties>
<profiles.active>dev</profiles.active>
</properties>
</profile>
<profile>
<!-- 测试环境 -->
<id>sit</id>
<properties>
<profiles.active>sit</profiles.active>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<!-- 验收环境 -->
<id>uat</id>
<properties>
<profiles.active>uat</profiles.active>
</properties>
</profile>
</profiles>
这里默认sit配置
会多出来一个Profiles
多环境配置
application-dev.properties:开发环境
server.port=9001
application-sit.properties:测试环境
server.port=9002
application-uat.properties:验收环境
server.port=9003
application.properties:主配置文件
注意这里的profiles.active 要和pom文件的对应上
spring.profiles.active=@profiles.active@
测试成功(记得切换Profiles的时候,刷新一下,不然不会生效)