关于java:Spring-Boot-24-对多环境配置的支持更改

30次阅读

共计 1543 个字符,预计需要花费 4 分钟才能阅读完成。

在目前最新的 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 反对,您的关注是我保持的能源!

相干浏览

  • Spring Boot 1.x:属性配置文件详解
  • Spring Boot 2.0:配置绑定 2.0 全解析
  • Spring Boot 2.x 基础教程:配置文件详解

欢送关注我的公众号:程序猿 DD,取得独家整顿的收费学习资源助力你的 Java 学习之路!另每周赠书不停哦~

正文完
 0