springboot-多profles配置多環境用法總結
阿新 • • 發佈:2021-02-15
背景
起初在本地idea中編碼,所有配置資訊放到application.properties即可。但是需要部署到不同的環境,配置資訊就有了差異化。如果這是還維護一個檔案,就非常被動,不同環境之間改來改去,容易出錯。springboot通過多profile做了很好的支援。
實戰
實現方式:多profile檔案方式
application-{profile}.properties,profile佔位符表示當前環境的名稱。
- 注意是中劃線“-”,不是下劃線。這裡容易出錯。
實現方式:多profile文件塊方式
- 通過“---"來區分,也是中劃線。
spring: profiles: active: dev --- server: port: 8081 spring: profiles: test --- server: port: 8082 spring: profiles: prod
生效方式
- 僅僅介紹兩種種常用的方式
- 在application.properties中指定,spring.profiles.active=dev,這個適合本地除錯
- 啟動命令指定:--spring.profiles.active=dev,這個適合部署到伺服器
多properties配置檔案間的依賴關係
- 首先springboot載入不帶環境的application.properties配置檔案。
- 然後載入指定環境application-{profile}.properties配置檔案,與第一步重疊配置會被覆蓋,以最後的為準。
- 通常在application.properties中填寫共用的,application-{profile}.properties中做差異化的操作。這樣可以做到更專注。
總結
本篇側重兩個點,一是如何區分多環境;二是利用配置檔案的載入順序,如何做到最優配置。