springboot yml中profiles的巧妙用法(小白必看多環(huán)境配置)
遙想當(dāng)年我還是個(gè)小白的時(shí)候,就只是寫寫demo,也就在一套環(huán)境上跑跑,真正當(dāng)實(shí)戰(zhàn)的時(shí)候,除了你本地環(huán)境,還有開發(fā)環(huán)境,測試環(huán)境,生產(chǎn)環(huán)境(上線)等等。
如果你不知道用這個(gè)profiles,那么這么多套環(huán)境,用一種老古董的寫法就是這樣,用哪個(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ù)庫賬號(hào)密碼而已,真正的配置比這要多了去了!
這個(gè)時(shí)候profiles的妙用就體現(xiàn)出來了!用active指定當(dāng)前使用的環(huán)境
spring: profiles: active: local
在下面用 — 來隔開環(huán)境,用profiles來指定這個(gè)配置環(huán)境名稱。
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)境撈出來,放在一個(gè)單獨(dú)的yml中,以 application-{profile}.yml 的格式。
這個(gè){profile}就是你的環(huán)境名!如下
一個(gè)application.yml 放基本的配置,和使用哪個(gè)環(huán)境。
然后下面這些各式各樣的yml就可以用來存各個(gè)環(huán)境的數(shù)據(jù)庫配置,服務(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ù)庫配置單獨(dú)丟進(jìn)去local了,當(dāng)我使用dev環(huán)境時(shí),里面沒有數(shù)據(jù)庫配置,最后的application.yml中也報(bào)錯(cuò)了,程序中有數(shù)據(jù)庫交互的接口,所有就報(bào)異常了!
要么在dev中補(bǔ)充,要么在application.yml中補(bǔ)充,我個(gè)人建議在dev補(bǔ)充。
因?yàn)檫@樣才能保證各個(gè)環(huán)境不會(huì)有出現(xià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. JavaEE SpringMyBatis是什么? 它和Hibernate的區(qū)別及如何配置MyBatis2. Python 忽略文件名編碼的方法3. python 讀txt文件,按‘,’分割每行數(shù)據(jù)操作4. 解決vue頁面刷新,數(shù)據(jù)丟失的問題5. Java Media Framework 基礎(chǔ)教程6. android studio實(shí)現(xiàn)簡單的計(jì)算器(無bug)7. 在Mac中配置Python虛擬環(huán)境過程解析8. 利用單元測試對(duì)PHP代碼進(jìn)行檢查9. python excel和yaml文件的讀取封裝10. python如何實(shí)現(xiàn)word批量轉(zhuǎn)HTML
