Spring Boot 2.4 對多環境配置的支持更改

在目前最新的Spring Boot 2.4版本中,對配置的加載機制作了較大的調整。相關的問題最近也被問的比較多,因此今天就花點時間,給你們講講Spring Boot 2.4的多環境配置較以前版本有哪些變化。java

多環境配置

2.4版本以前git

先回顧下,2.4版本以前,咱們在yaml配置文件中,使用spring.profiles來定義不一樣環境的標識,好比下面這樣:github

spring:
  profiles: "dev"

name: dev.didispace.com

---

spring:
  profiles: "test"

name: test.didispace.com

---

spring:
  profiles: "prod"

name: prod.didispace.com

2.4版本以後spring

而在本次2.4版本升級以後,咱們須要將spring.profiles配置用spring.config.activate.on-profile替代,好比上面的配置須要修改成以下配置:springboot

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

指定環境啓動app

應用啓動的時候,咱們要加載不一樣的環境配置的參數不變,依然採用spring.profiles.active參數,對應值採用spring.config.activate.on-profile定義的標識名稱。好比下面的命令就能激活dev環境的配置。spring-boot

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配置中,這樣的做用就能夠指定默認使用某一個環境的配置,一般咱們能夠設置成開發環境,這樣有利於咱們平時的開發調試,而真正部署到其餘環境的時候則多以命令參數激活爲主。spa

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目錄:調試

若是您以爲本文不錯,歡迎Star支持,您的關注是我堅持的動力!

相關閱讀

歡迎關注個人公衆號:程序猿DD,得到獨家整理的免費學習資源助力你的Java學習之路!另每週贈書不停哦~

相關文章
相關標籤/搜索