基於properties文件的Spring Boot多環境切換

當咱們使用properties文件做爲Spring Boot的配置文件而不是yaml文件時,怎樣實現多環境使用不一樣的配置信息呢?
    在Spring Boot中,多環境配置的文件名須要知足application-{profile}.properties的格式,其中{profile}對應你的環境標識,以下所示:
  • application-dev.properties:開發環境;
  • application-test.properties:測試環境;
  • application-prod.properties:生產環境;
 
    至於哪一個具體的配置文件會被加載,須要在application.properties文件中經過spring.profiles.active屬性來設置,而該屬性能夠寫在配置文件中,也能夠經過啓動時命令來設置。
    如application.properties中的spring.profiles.active=test,那麼就會加載application-test.properties中的配置的屬性。
 
  • 假設有針對不一樣環境的三個配置文件:application-dev.properties,application-test.properties,application-prod.properties。
  • 這三個文件中設置不一樣的server.port屬性,dev環境爲1111,test環境爲2222,prod爲3333。
  • application.properties中設置spring.profiles.active=dev,意爲默認以dev環境的配置文件爲準。
  • 當咱們執行java -jar XXX.jar時,能夠測試到服務器端口爲1111,也就是dev配置文件中設置的。
  • 當咱們執行java -jar XXX.jar --spring.profiles.active=test,能夠測試到端口被設置爲2222,也就是test配置文件中設置的。
  • 同理,當咱們執行jar -jar XXX.jar --spring.profiles.active=prod,能夠觀察到服務端口被設置爲3333,也就是生產環境的配置。
 
 
總結多環境的配置思路:
  1. 在application.properties中配置通用內容,使用spring.profiles.active=dev,指定默認的配置。
  2. 在application-{profile}.properties中配置各個環境不一樣的內容。
  3. 經過命令行方式去激活不一樣的環境配置。
相關文章
相關標籤/搜索