查看原文
其他

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

翟永超 程序猿DD 2021-05-26

在目前最新的Spring Boot 2.4版本中,对配置的加载机制做了较大的调整。相关的问题最近也被问的比较多,所以今天就花点时间,给大家讲讲Spring Boot 2.4的多环境配置较之前版本有哪些变化。

多环境配置

2.4版本之前

先回顾下,2.4版本之前,我们在yaml配置文件中,使用spring.profiles来定义不同环境的标识,比如下面这样:

spring:
  profiles: "dev"

name: dev.didispace.com

---

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

代码示例

本文的相关例子可以查看下面仓库中的chapter1-2目录:

  • Github:https://github.com/dyc87112/SpringBoot-Learning/
  • Gitee:https://gitee.com/didispace/SpringBoot-Learning/

如果您觉得本文不错,欢迎Star支持,您的关注是我坚持的动力!


DD自研的沪牌代拍业务,点击直达


【往期推荐】

首支完全由 AI 创作的歌曲《未来之歌》发布!对于未来,你方了吗?

2020-12-16

Spring Security 实战干货:OAuth2授权回调的核心认证流程

2020-12-16

超卖 100 瓶茅台的事故分析

2020-12-15

重磅!GitHub 全部源代码被泄露?

2020-12-15

这本空降京东当当新书榜TOP1的“算法小抄”是什么来头?

2020-12-14

Redis 的 8 大数据类型,写得非常好!

2020-12-14

扫一扫,关注我

知晓前沿科技,领略技术魅力


深度内容

推荐加入


欢迎加入知识星球,一起探讨技术架构,交流技术人生。加入方式,长按下方二维码:已在知识星球更新如下:

素质二连,走一个


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存