十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
這篇文章主要介紹了Spring Boot中怎么使用一個yml文件通過不同的profile來配置屬性文件,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
公司主營業(yè)務(wù):網(wǎng)站制作、成都網(wǎng)站設(shè)計、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出赫章免費做網(wǎng)站回饋大家。
在springboot的開發(fā)中,有時候我們會有不同的配置,例如日志打印,數(shù)據(jù)庫連接等,開發(fā),測試,生產(chǎn)每個環(huán)境可能配置都不一致,還好,springboot支持通過不同的profile來配置不同環(huán)境的配置,下面就大致介紹一下yml配置文件跟properties配置文件怎么使用profile配置不同環(huán)境的配置文件...
先介紹一下開發(fā)環(huán)境:
jdk版本是1.8
springboot的版本是1.4.1
開發(fā)工具為 intellij idea
我們先來介紹,使用一個yml文件,通過不同的profile來配置屬性文件:
1.首先,我們先創(chuàng)建一個名為 application.yml的屬性文件,如下:
2.然后打開文件,輸入一下內(nèi)容:
#查看springboot開啟了哪些配置 debug: false spring: profiles: active: dev --- #開發(fā)環(huán)境配置 spring: profiles: dev server: port: 8080 --- #測試環(huán)境配置 spring: profiles: test server: port: 8081 --- #生產(chǎn)環(huán)境配置 spring: profiles: pro server: port: 8082
非常簡單的配置,application.yml文件分為四部分,使用一組(---)來作為分隔符,第一部分,為通用配置部分,表示三個環(huán)境都通用的屬性,spring.profiles.active稍后解釋.
后面三段分別為,開發(fā),測試,生產(chǎn),都用spring.profiles指定了一個值(開發(fā)為dev,測試為test,生產(chǎn)為pro),這個值表示該段配置應(yīng)該用在哪個profile里面,
PS:一定要注意!!一定要注意!!一定要注意!!所有屬性后面跟的value要跟 ":" 隔開一個空格,否則,配置無效!!!配置無效!!!配置無效!!!我當(dāng)初就掉進來了,在此告知各位,別跟我一樣掉進來!!!
如果,我們是本地啟動,在通用配置里面,可以設(shè)置調(diào)用哪個環(huán)境的profile,也就是第一段的spring.profiles.active=XXX;
上面的XXX是每個環(huán)境的 spring.profiles對應(yīng)的value,通過這個,可以控制本地啟動調(diào)用哪個環(huán)境的配置文件,例如:
spring:
profiles:
active: dev
加載的,就是開發(fā)環(huán)境的屬性,如果dev換成test,則會加載測試環(huán)境的屬性,生產(chǎn)也是如此,
PS:如果spring.profiles.active沒有指定值,那么只會使用沒有指定spring.profiles文件的值,也就是只會加載通用的配置
如果是部署到服務(wù)器的話,我們正常打成jar包,發(fā)布是時候,采用:
--spring.profiles.active=test或者pro 來控制加載哪個環(huán)境的配置,完整命令如下:
java -jar xxxxx.jar --spring.profiles.active=test 表示加載測試環(huán)境的配置
java -jar xxxxx.jar --spring.profiles.active=pro 表示加載生產(chǎn)環(huán)境的配置
上面介紹完了,我們本地啟動一下,先將spring.profiles.active的值設(shè)置為dev,看看日志打印結(jié)果:
通過日志分析,可以看到,打印了profiles的值為dev,下面看看打印的端口號
發(fā)現(xiàn),端口號是8080說明加載了dev的配置;
下面我們來試試把active的值換成test,重啟看看:
active變成了test,
端口變?yōu)榱?081,說明,加載的是test的配置,
接下來,就是使用多個yml配置文件進行配置屬性文件:
如果是使用多個yml來配置屬性,我們則可以這么使用,通過與配置文件相同的明明規(guī)范,創(chuàng)建application-{profile}.yml文件,將于環(huán)境無關(guān)的屬性,放置到application.yml文件里面,可以通過這種形式來配置多個環(huán)境的屬性文件,在application.yml文件里面指定spring.profiles.active=profiles的值,來加載不同環(huán)境的配置,如果不指定,則默認只使用application.yml屬性文件,不會加載其他的profiles的配置
使用properties配置多個環(huán)境配置文件
如果使用application.properties進行多個環(huán)境的配置,原理跟使用多個yml配置文件一致,也是通過application-{profile}.properties來控制加載哪個環(huán)境的配置,將于環(huán)境無關(guān)的屬性,放置到application.properties文件里面,通過spring.profiles.active=profiles的值,加載不同環(huán)境的配置,如果不指定,則默認加載application.properties的配置,不會加載帶有profile的配置
感謝你能夠認真閱讀完這篇文章,希望小編分享的“Spring Boot中怎么使用一個yml文件通過不同的profile來配置屬性文件”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!