spring profiles | 多环境

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

.

 

此条目发表在java分类目录。将固定链接加入收藏夹。