springboot yml中profiles的巧妙用法(小白必看多環(huán)境配置)
遙想當(dāng)年我還是個(gè)小白的時(shí)候,就只是寫(xiě)寫(xiě)demo,也就在一套環(huán)境上跑跑,真正當(dāng)實(shí)戰(zhàn)的時(shí)候,除了你本地環(huán)境,還有開(kāi)發(fā)環(huán)境,測(cè)試環(huán)境,生產(chǎn)環(huán)境(上線)等等。
如果你不知道用這個(gè)profiles,那么這么多套環(huán)境,用一種老古董的寫(xiě)法就是這樣,用哪個(gè)環(huán)境就把其他環(huán)境注釋掉!
spring: datasource: username: root #dev password: 123456#dev #username: root2#test #password: 456789#test ...
這還只2個(gè)環(huán)境的數(shù)據(jù)庫(kù)賬號(hào)密碼而已,真正的配置比這要多了去了!
這個(gè)時(shí)候profiles的妙用就體現(xiàn)出來(lái)了!用active指定當(dāng)前使用的環(huán)境
spring: profiles: active: local
在下面用 — 來(lái)隔開(kāi)環(huán)境,用profiles來(lái)指定這個(gè)配置環(huán)境名稱(chēng)。
spring: profiles: local datasource: username: root password: 123456---spring: profiles: dev username: root2 password: 456789--- ...
當(dāng)然這樣環(huán)境多了,整個(gè)yml也是很亂,所以這個(gè)時(shí)候我們是可以把這些環(huán)境撈出來(lái),放在一個(gè)單獨(dú)的yml中,以 application-{profile}.yml 的格式。
這個(gè){profile}就是你的環(huán)境名!如下
一個(gè)application.yml 放基本的配置,和使用哪個(gè)環(huán)境。
然后下面這些各式各樣的yml就可以用來(lái)存各個(gè)環(huán)境的數(shù)據(jù)庫(kù)配置,服務(wù)注冊(cè)等。
而且會(huì)優(yōu)先使用配置的環(huán)境中的,比如我在local環(huán)境中配置了一個(gè)端口號(hào),輸出的就是local環(huán)境中的端口號(hào)。
當(dāng)我去掉local中配置的端口號(hào),就會(huì)用默認(rèn)配置的端口號(hào)
springboot Failed to load ApplicationContext
如果遇到這個(gè)錯(cuò),可能是配置不對(duì),例如我是把數(shù)據(jù)庫(kù)配置單獨(dú)丟進(jìn)去local了,當(dāng)我使用dev環(huán)境時(shí),里面沒(méi)有數(shù)據(jù)庫(kù)配置,最后的application.yml中也報(bào)錯(cuò)了,程序中有數(shù)據(jù)庫(kù)交互的接口,所有就報(bào)異常了!
要么在dev中補(bǔ)充,要么在application.yml中補(bǔ)充,我個(gè)人建議在dev補(bǔ)充。
因?yàn)檫@樣才能保證各個(gè)環(huán)境不會(huì)有出現(xiàn)問(wèn)題,application.yml只配通用的東西!
其他妙用(用時(shí)補(bǔ)充) 配置logback中也可以用到 配置swagger也可以用到
到此這篇關(guān)于springboot yml中profiles的妙用小白必看多環(huán)境配置的文章就介紹到這了,更多相關(guān)springboot yml使用profiles內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. ASP.NET Core實(shí)現(xiàn)中間件的幾種方式2. .Net Core和RabbitMQ限制循環(huán)消費(fèi)的方法3. html中的form不提交(排除)某些input 原創(chuàng)4. 使用css實(shí)現(xiàn)全兼容tooltip提示框5. 利用CSS制作3D動(dòng)畫(huà)6. XML解析錯(cuò)誤:未組織好 的解決辦法7. 告別AJAX實(shí)現(xiàn)無(wú)刷新提交表單8. jsp實(shí)現(xiàn)登錄驗(yàn)證的過(guò)濾器9. jsp實(shí)現(xiàn)局部刷新頁(yè)面、異步加載頁(yè)面的方法10. jsp+servlet簡(jiǎn)單實(shí)現(xiàn)上傳文件功能(保存目錄改進(jìn))
