springboot yml中profiles的巧妙用法(小白必看多環境配置)
遙想當年我還是個小白的時候,就隻是寫寫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}就是你的環境名!如下
一個application.yml 放基本的配置,和使用哪個環境。
然後下面這些各式各樣的yml就可以用來存各個環境的數據庫配置,服務註冊等。
而且會優先使用配置的環境中的,比如我在local環境中配置瞭一個端口號,輸出的就是local環境中的端口號。
當我去掉local中配置的端口號,就會用默認配置的端口號
springboot Failed to load ApplicationContext
如果遇到這個錯,可能是配置不對,例如我是把數據庫配置單獨丟進去local瞭,當我使用dev環境時,裡面沒有數據庫配置,最後的application.yml中也報錯瞭,程序中有數據庫交互的接口,所有就報異常瞭!
要麼在dev中補充,要麼在application.yml中補充,我個人建議在dev補充。
因為這樣才能保證各個環境不會有出現問題,application.yml隻配通用的東西!
其他妙用(用時補充) 配置logback中也可以用到 配置swagger也可以用到
到此這篇關於springboot yml中profiles的妙用小白必看多環境配置的文章就介紹到這瞭,更多相關springboot yml使用profiles內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- springboot如何讀取模板文件
- SpringBoot 如何通過 Profile 實現不同環境下的配置切換
- Maven的porfile與SpringBoot的profile結合使用案例詳解
- Spring boot 數據源未配置異常的解決
- SpringBoot多環境開發與日志小結