前言
最近刚上线的一个项目,由于在Integration、UAT、PRO三种不同的环境上配置文件都不同,而且差别还比较大所以就用了SpringBoot中的spring.profile.active元配置项来做不同ENV中配置文件读取的策略。
使用 spring.profiles.active 参数,搭配@Profile注解,可以实现不同环境下(开发、测试、生产)配置参数的切换
案例
-
spring.profiles.active
根据springboot的配置文件命名约定,结合active可在不同环境引用不同的properties外部配置。
参考官方文档:
根据文档描述,我们除application.properties外,还可以根据命名约定(
命名格式:application-{profile}.properties)来配置,如果active赋予的参数没有与使用该命名约定格式文件相匹配的话,app则会默认从名为application-default.properties 的配置文件加载配置。
如:spring.profiles.active=hello-world,sender,dev 有三个参数,其中 dev 正好匹配下面配置中的application-dev.properties 配置文件,所以app启动时,项目会先从application-dev.properties加载配置,再从application.properties配置文件加载配置,如果有重复的