springboot yml中profiles的巧妙用法(小白必看多環(huán)境配置)
遙想當(dāng)年我還是個(gè)小白的時(shí)候,就只是寫寫demo,也就在一套環(huán)境上跑跑,真正當(dāng)實(shí)戰(zhàn)的時(shí)候,除了你本地環(huán)境,還有開發(fā)環(huán)境,測(cè)試環(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ù)庫(kù)賬號(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ù)庫(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í),里面沒有數(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)問題,application.yml只配通用的東西!
其他妙用(用時(shí)補(bǔ)充) 配置logback中也可以用到 配置swagger也可以用到
到此這篇關(guān)于springboot yml中profiles的妙用小白必看多環(huán)境配置的文章就介紹到這了,更多相關(guān)springboot yml使用profiles內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于Java代碼實(shí)現(xiàn)游戲服務(wù)器生成全局唯一ID的方法匯總
我們?cè)谧龇?wù)器系統(tǒng)開發(fā)的時(shí)候,為了適應(yīng)數(shù)據(jù)大并發(fā)的請(qǐng)求,需要插入數(shù)據(jù)庫(kù)之前生成一個(gè)全局的唯一id,糾結(jié)全局唯一id怎么生成呢?下面小編給大家分享Java代碼實(shí)現(xiàn)游戲服務(wù)器生成全局唯一ID的方法匯總,涉及到優(yōu)劣勢(shì)方面的知識(shí)點(diǎn),對(duì)此感興趣的朋友一起看看吧2016-10-10解決springboot中mongodb不啟動(dòng)及Dao不能被掃描到的問題
這篇文章主要介紹了解決springboot中mongodb不啟動(dòng)及Dao不能被掃描到的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05Jackson使用示例-Bean、XML、Json之間相互轉(zhuǎn)換
Jackson是一個(gè)強(qiáng)大工具,可用于Json、XML、實(shí)體之間的相互轉(zhuǎn)換,JacksonXmlElementWrapper用于指定List等集合類,外圍標(biāo)簽名,JacksonXmlProperty指定包裝標(biāo)簽名,或者指定標(biāo)簽內(nèi)部屬性名,JacksonXmlRootElement指定生成xml根標(biāo)簽的名字,JacksonXmlText指定當(dāng)前這個(gè)值2024-05-05Java實(shí)用工具之使用oshi獲取主機(jī)信息的方法
這篇文章主要介紹了Java實(shí)用工具之使用oshi獲取主機(jī)信息的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02Java?關(guān)鍵字break和continue的使用說明
這篇文章主要介紹了Java?關(guān)鍵字break和continue的使用,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03