Spring Boot 2.4 对多环境配置的支持更改

更新时间:2020-12-22 14:22:12 点击次数:903次
多环境配置
2.4版本之前
先回顾下,2.4版本之前,我们在yaml配置文件中,使用spring.profiles来定义不同环境的标识,比如
spring  profiles: "test"
name: test.didispace.com
---spring:
  profiles: "prod"
name: prod.didispace.com
2.4版本之后
而在本次2.4版本升级之后,我们需要将spring.profiles配置用spring.config.activate.on-profile替代,比如上面的配置需要修改为如下配置:
spring:
  config:
    activate:
      on-profile: "dev"
name: dev.didispace.com
---
spring:
  config:
    activate:
      on-profile: "test"
name: test.didispace.com
---
spring:
  config:
    activate:
      on-profile: "prod"
name: prod.didispace.com
指定环境启动
应用启动的时候,我们要加载不同的环境配置的参数不变,依然采用spring.profiles.active参数,对应值采用spring.config.activate.on-profile定义的标识名称。比如下面的命令就能激活dev环境的配置。
java -jar myapp.jar -Dspring.profiles.active=dev
在应用启动的时候,我们也能看到对应的配置激活日志:
2020-12-16 16:34:20.614  INFO 5951 --- [           main] c.d.chapter12.Chapter12Application       : The following profiles are active: dev
我们也可以将spring.profiles.active写入yaml配置中,这样的作用就可以指定默认使用某一个环境的配置,通常我们可以设置成开发环境,这样有利于我们平时的开发调试,而真正部署到其他环境的时候则多以命令参数激活为主。
spring:
  profiles:
    active: "dev"---
spring:
  config:
    activate:
      on-profile: "dev"
name: dev.didispace.com
---
spring:
  config:
    activate:
      on-profile: "test"
name: test.didispace.com
---
spring:
  config:
    activate:
      on-profile: "prod"
name: prod.didispace.com

本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是一个个人学习交流的平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽,造成漏登,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

回到顶部
嘿,我来帮您!