在Spring Boot 2.4版本中,對(duì)配置的加載機(jī)制做了較大的調(diào)整。今天我買(mǎi)了來(lái)看看Spring Boot 2.4的多環(huán)境配置較之前版本有哪些變化。
多環(huán)境配置
2.4版本之前
先回顧下,2.4版本之前,我們?cè)趛aml配置文件中,使用spring.profiles
來(lái)定義不同環(huán)境的標(biāo)識(shí),比如下面這樣:
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版本升級(jí)之后,我們需要將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
指定環(huán)境啟動(dòng)
應(yīng)用啟動(dòng)的時(shí)候,我們要加載不同的環(huán)境配置的參數(shù)不變,依然采用spring.profiles.active
參數(shù),對(duì)應(yīng)值采用spring.config.activate.on-profile
定義的標(biāo)識(shí)名稱(chēng)。比如下面的命令就能激活dev
環(huán)境的配置。
java -jar myapp.jar -Dspring.profiles.active=dev
在應(yīng)用啟動(dòng)的時(shí)候,我們也能看到對(duì)應(yīng)的配置激活日志:
2020-12-16 16:34:20.614 INFO 5951 --- [ main] c.d.chapter12.Chapter12Application : The following profiles are active: dev
我們也可以將spring.profiles.active寫(xiě)入yaml配置中,這樣的作用就可以指定默認(rèn)使用某一個(gè)環(huán)境的配置,通常我們可以設(shè)置成開(kāi)發(fā)環(huán)境,這樣有利于我們平時(shí)的開(kāi)發(fā)調(diào)試,而真正部署到其他環(huán)境的時(shí)候則多以命令參數(shù)激活為主。
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
注:本文轉(zhuǎn)載自“程序猿DD”,如有侵權(quán),請(qǐng)聯(lián)系刪除!