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。

推薦閱讀: