SpringBoot的2.4.0之后,对多文件的yml配置进行了更新,旧方式的配置都被划上一道线,也就是说被废弃了,不过还可以正常使用。而properties配置方式没有变化。
2.4.0之前
spring:
profiles:
active: dev
---
spring:
profiles: test
server:
port: 1111
---
spring:
profiles: dev
server:
port: 2222
2.4.0之后
spring:
profiles:
active: dev
---
spring:
config:
activate:
on-profile: test
server:
port: 1111
---
spring:
config:
activate:
on-profile: dev
server:
port: 2222
即环境配置使用 spring.config.activate.on-profile 替换了 spring.profiles
on-profile: dev 指,当环境是dev时,配置生效,非dev时配置不生效
spring.active, spring.include 并没有改变
配置组应用
spring:
profiles:
# 默认环境
include: database,runtime
group:
# test 环境
test: databasetest,runtimetest
# prod 环境
prod: databaseprod,runtimeprod
若在新旧版本应急其间或包版本升级,短时间不方便升级为新的模式,则可以通过配置指定为旧的的处理逻辑,但此模式不建议长时使用。
通过如下参数进行配置:
spring.config.use-legacy-processing = true
.