您的位置:首頁技術文章
文章詳情頁

springboot yml中profiles的巧妙用法(小白必看多環境配置)

瀏覽:81日期:2023-03-14 11:36:02

遙想當年我還是個小白的時候,就只是寫寫demo,也就在一套環境上跑跑,真正當實戰的時候,除了你本地環境,還有開發環境,測試環境,生產環境(上線)等等。

如果你不知道用這個profiles,那么這么多套環境,用一種老古董的寫法就是這樣,用哪個環境就把其他環境注釋掉!

spring: datasource: username: root #dev password: 123456#dev #username: root2#test #password: 456789#test ...

這還只2個環境的數據庫賬號密碼而已,真正的配置比這要多了去了!

這個時候profiles的妙用就體現出來了!用active指定當前使用的環境

spring: profiles: active: local

在下面用 — 來隔開環境,用profiles來指定這個配置環境名稱。

spring: profiles: local datasource: username: root password: 123456---spring: profiles: dev username: root2 password: 456789--- ...

當然這樣環境多了,整個yml也是很亂,所以這個時候我們是可以把這些環境撈出來,放在一個單獨的yml中,以 application-{profile}.yml 的格式。

這個{profile}就是你的環境名!如下

springboot yml中profiles的巧妙用法(小白必看多環境配置)

一個application.yml 放基本的配置,和使用哪個環境。

然后下面這些各式各樣的yml就可以用來存各個環境的數據庫配置,服務注冊等。

springboot yml中profiles的巧妙用法(小白必看多環境配置)

而且會優先使用配置的環境中的,比如我在local環境中配置了一個端口號,輸出的就是local環境中的端口號。

springboot yml中profiles的巧妙用法(小白必看多環境配置)

當我去掉local中配置的端口號,就會用默認配置的端口號

springboot yml中profiles的巧妙用法(小白必看多環境配置)

springboot Failed to load ApplicationContext

如果遇到這個錯,可能是配置不對,例如我是把數據庫配置單獨丟進去local了,當我使用dev環境時,里面沒有數據庫配置,最后的application.yml中也報錯了,程序中有數據庫交互的接口,所有就報異常了!

要么在dev中補充,要么在application.yml中補充,我個人建議在dev補充。

因為這樣才能保證各個環境不會有出現問題,application.yml只配通用的東西!

其他妙用(用時補充) 配置logback中也可以用到 配置swagger也可以用到

到此這篇關于springboot yml中profiles的妙用小白必看多環境配置的文章就介紹到這了,更多相關springboot yml使用profiles內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
国产综合久久一区二区三区