當我們使用properties文件作為Spring Boot的配置文件而不是yaml文件時,怎樣實現多環境使用不同的配置信息呢? 在Spring Boot中,多環境配置的文件名需要滿足application-{profile}.properties的格式,其中{profile}對應你的環境標識,如下 ...
當我們使用properties文件作為Spring Boot的配置文件而不是yaml文件時,怎樣實現多環境使用不同的配置信息呢? 在Spring Boot中,多環境配置的文件名需要滿足application-{profile}.properties的格式,其中{profile}對應你的環境標識,如下所示:
- application-dev.properties:開發環境;
- application-test.properties:測試環境;
- application-prod.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,也就是生產環境的配置。
- 在application.properties中配置通用內容,使用spring.profiles.active=dev,指定預設的配置。
- 在application-{profile}.properties中配置各個環境不同的內容。
- 通過命令行方式去激活不同的環境配置。