SpringBoot實現配置文件的替換
SpringBoot配置文件的替換
使用spring.profiles.active
在工作中,測試或上線的時候一定會遇到的問題就是修改配置。一般來說都有如下幾種配置可用:dev(開發環境),test(測試環境),pro(生產|線上環境)。這時候,我們就需要去註釋掉配置文件中的所有配置,再解開需要的配置。這時候,就可以通過spring.profiles.active的配置來解決這個問題。
application.properties
根據不同的環境創建不同的properties文件,如application-dev.properties,application-test.properties,application-pro.properties。
創建application.properties,內容如下:
spring.profiles.active=dev # test測試、pro生產
然後通過修改application.properties來更改不同的配置。
application.yml
同上,根據不同的環境創建不同的yml配置文件,以後綴區分(如:application-dev.yml)。
創建application.yml,內容如下:
spring: profiles: active: test # dev開發、pro生產
同上,修改配置文件隻需要更改application.yml文件即可。
SpringBoot讀取配置文件匯總
1、使用註解@ConfigurationProperties映射
通過註解@ConfigurationProperties(prefix=“配置文件中的key的前綴”)可以將配置文件中的配置自動與實體進行映射application.properties配置。
2、使用註解Value(“${key}”)映射
可以通過@Value註解將配置文件中的值映射到一個Spring管理的Bean的字段上。
3、使用註解@PropertySource(“classpath:xxx.properties”)
加載自定義屬性文件的註解
專門用來加載指定位置的properties文件,需與@ConfigurationProperties(prefix =”” )配合使用,Spring暫未提供加載指定位置yml文件的註解。
4、使用 Environment
這個環境配置類,不光能讀取配置文件,還能讀取系統變量,比如jdk版本,當前操作系統類型,用戶目錄等等。
5、使用@ImportResource註解
使用將外部的配置文件加載到程序中來,比如我們定義一個beans.xml文件,裡面配置瞭一個bean,默認情況下這個bean是不會加載到Spring容器中來的。我們需要@ImportResource(locations = {“classpath:beans.xml”})註解將這個配置文件加載進來。SpringBoot推薦使用配置類的方式給容器中添加組件。
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- SpringBoot @PropertySource與@ImportResource有什麼區別
- SpringBoot框架配置文件路徑設置方式
- 深入理解springboot中配置文件application.properties
- SpringBoot配置加載,各配置文件優先級對比方式
- 教你在SpringBoot中管理多環境配置文件