Spring Boot如何同时加载默认、dev及dev-us1三类应用配置文件?
解决Spring同时加载默认、dev及区域专属配置的方法
方法一:指定多个激活的Profiles
直接设置环境变量SPRING_ACTIVE_PROFILES为dev,dev-us1,Spring Boot会按顺序自动加载以下配置文件(后加载的文件会覆盖前序文件的同名配置):
application.properties(默认自动加载,无需指定profile)application-dev.properties(对应devprofile)application-dev-us1.properties(对应dev-us1profile)
设置方式举例:
- 命令行启动应用时:
java -jar your-app.jar --spring.profiles.active=dev,dev-us1 - 系统环境变量配置:
直接设置SPRING_ACTIVE_PROFILES=dev,dev-us1
方法二:在区域专属配置中引入通用dev配置
如果希望激活区域profile(如dev-us1)时自动加载通用dev配置,可在application-dev-us1.properties中添加:
spring.profiles.include=dev
之后只需设置SPRING_ACTIVE_PROFILES=dev-us1,Spring Boot就会依次加载:application.properties → application-dev.properties → application-dev-us1.properties
同理,在application-dev-eu1.properties中添加相同配置,激活dev-eu1时也会自动引入dev的通用配置。
注意事项
- 配置优先级:后加载的配置文件中,同名配置项会覆盖之前的取值,因此区域专属配置可以按需覆盖通用dev配置。
- 确保profile名称与配置文件后缀严格匹配(比如
dev-us1对应application-dev-us1.properties)。
内容的提问来源于stack exchange,提问作者krisnik
相关产品推荐
相关产品推荐

