SpringBoot多環(huán)境開(kāi)發(fā)該如何配置
一、配置多環(huán)境
如下例:
# 當(dāng)前激活的環(huán)境為 dev
spring:
profiles:
active: dev
# 日志等級(jí)
logging:
level:
root: info
---
# 開(kāi)發(fā)環(huán)境
spring:
config:
activate:
on-profile: dev
server:
port: 81
---
#生產(chǎn)環(huán)境
spring:
config:
activate:
on-profile: pro
server:
port: 80
---
# 測(cè)試環(huán)境
spring:
config:
activate:
on-profile: test
server:
port: 82
在 yml 配置文件中,用三個(gè)橫線(xiàn)分隔不同的環(huán)境,spring.config.activate.on-profile 屬性表示當(dāng)前環(huán)境名稱(chēng),沒(méi)有設(shè)置環(huán)境名稱(chēng)的部分,會(huì)作為默認(rèn)配置,被所有環(huán)境采用,比如上例中的日志等級(jí)
spring.config.activate.on-profile 也可以寫(xiě)成 spring.profiles 更簡(jiǎn)便些,如下例:
# 開(kāi)發(fā)環(huán)境
spring:
profiles: dev
但這個(gè)寫(xiě)法已經(jīng)過(guò)時(shí)了,會(huì)被警告
二、激活環(huán)境
1. spring.profiles.active屬性
將 spring.profiles.active 屬性配置在沒(méi)有環(huán)境名稱(chēng)的部分,即可激活指定環(huán)境,如前一部分中的樣例
也可以指定多個(gè)環(huán)境,用逗號(hào)分隔或者寫(xiě)成數(shù)組
spring:
profiles:
active: env_1, env_2
2. 命令行激活
將項(xiàng)目打成 jar 包,通過(guò) jar 包運(yùn)行項(xiàng)目時(shí)指定 spring.profiles.active 屬性值即可,如下:
java -jar 包名.jar --spring.profiles.active=env_1,env_2
激活多個(gè)環(huán)境時(shí),逗號(hào)后不能有空格
即使 yaml 中配置了 spring.profiles.active 的值,還是會(huì)按照命令行來(lái)激活環(huán)境,因?yàn)槊钚械膬?yōu)先級(jí)高于配置文件,同樣的,配置文件中的其他屬性也可以通過(guò)命令行來(lái)指定
3. 讀取 pom.xml激活
Maven進(jìn)階中可以過(guò)濾資源文件,使其能夠讀取 pom.xml 中的屬性
這里就是在 pom 中指定 spring.profiles.active 的值,達(dá)到激活環(huán)境的目的
yaml 配置文件中這樣寫(xiě):
spring: profiles: active: @profiles.active@
SpringBoot 項(xiàng)目中資源文件讀取 pom 屬性要用 @ 包裹屬性名,而不能用 ${ }
pom.xml 中這樣寫(xiě):
<properties> <profiles.active>env_1, env_2</profiles.active> </properties> <build> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> </resources> </build>
如此配置,編譯以后 yaml 中的屬性值就被替換了
到此這篇關(guān)于SpringBoot多環(huán)境開(kāi)發(fā)該如何配置的文章就介紹到這了,更多相關(guān)SpringBoot多環(huán)境開(kāi)發(fā)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java雙向鏈表按照順序添加節(jié)點(diǎn)的方法實(shí)例
這篇文章主要給大家介紹了關(guān)于Java雙向鏈表按照順序添加節(jié)點(diǎn)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02Project?Reactor源碼解析publishOn使用示例
這篇文章主要為大家介紹了Project?Reactor源碼解析publishOn使用示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08java虛擬機(jī)之JVM調(diào)優(yōu)詳解
這篇文章主要介紹了java虛擬機(jī)之JVM調(diào)優(yōu)詳解,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)Java虛擬機(jī)的小伙伴們有非常好的幫助,需要的朋友可以參考下2021-04-04break和continue的作用和區(qū)別解析(案例分析)
break和continue都是用來(lái)控制循環(huán)結(jié)構(gòu)的,主要作用是停止循環(huán),這篇文章主要介紹了break和continue的作用和區(qū)別,需要的朋友可以參考下2023-03-03淺談一下Java為什么不能使用字符流讀取非文本的二進(jìn)制文件
這篇文章主要介紹了淺談一下為什么不能使用字符流讀取非文本的二進(jìn)制文件,剛學(xué)Java的IO流部分時(shí),書(shū)上說(shuō)只能使用字節(jié)流去讀取圖片、視頻等非文本二進(jìn)制文件,不能使用字符流,否則文件會(huì)損壞,需要的朋友可以參考下2023-04-04Springboot項(xiàng)目監(jiān)聽(tīng)器失效問(wèn)題解決
這篇文章主要介紹了Springboot項(xiàng)目監(jiān)聽(tīng)器失效問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03Java打包之后讀取Resources下的文件失效原因及解決方法
這篇文章主要給大家介紹了Java打包之后讀取Resources下的文件失效的問(wèn)題分析和解決方法,文中通過(guò)代碼示例和圖文結(jié)合給大家講解非常詳細(xì),需要的朋友可以參考下2023-12-12