SpringBoot實現(xiàn)配置文件的替換
SpringBoot配置文件的替換
使用spring.profiles.active
在工作中,測試或上線的時候一定會遇到的問題就是修改配置。一般來說都有如下幾種配置可用:dev(開發(fā)環(huán)境),test(測試環(huán)境),pro(生產(chǎn)|線上環(huán)境)。這時候,我們就需要去注釋掉配置文件中的所有配置,再解開需要的配置。這時候,就可以通過spring.profiles.active的配置來解決這個問題。
application.properties
根據(jù)不同的環(huán)境創(chuàng)建不同的properties文件,如application-dev.properties,application-test.properties,application-pro.properties。
創(chuàng)建application.properties,內(nèi)容如下:
spring.profiles.active=dev # test測試、pro生產(chǎn)
然后通過修改application.properties來更改不同的配置。
application.yml
同上,根據(jù)不同的環(huán)境創(chuàng)建不同的yml配置文件,以后綴區(qū)分(如:application-dev.yml)。
創(chuàng)建application.yml,內(nèi)容如下:
spring:
profiles:
active: test # dev開發(fā)、pro生產(chǎn)
同上,修改配置文件只需要更改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
這個環(huán)境配置類,不光能讀取配置文件,還能讀取系統(tǒng)變量,比如jdk版本,當前操作系統(tǒng)類型,用戶目錄等等。
5、使用@ImportResource注解
使用將外部的配置文件加載到程序中來,比如我們定義一個beans.xml文件,里面配置了一個bean,默認情況下這個bean是不會加載到Spring容器中來的。我們需要@ImportResource(locations = {"classpath:beans.xml"})注解將這個配置文件加載進來。SpringBoot推薦使用配置類的方式給容器中添加組件。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
java使用Hex編碼解碼實現(xiàn)Aes加密解密功能示例
這篇文章主要介紹了java使用Hex編碼解碼實現(xiàn)Aes加密解密功能,結(jié)合完整實例形式分析了Aes加密解密功能的定義與使用方法,需要的朋友可以參考下2017-01-01
Spring Data Neo4j實現(xiàn)復雜查詢的多種方式
在 Spring Data Neo4j 中,實現(xiàn)復雜查詢可以通過多種方式進行,包括使用自定義查詢、方法命名查詢以及使用 Cypher 查詢語言,以下是詳細介紹,幫助你在 Spring Data Neo4j 中實現(xiàn)復雜查詢,需要的朋友可以參考下2024-11-11
熟練掌握Java8新特性之Stream API的全面應(yīng)用
Stream是Java8的一大亮點,是對容器對象功能的增強,它專注于對容器對象進行各種非常便利、高效的 聚合操作(aggregate operation)或者大批量數(shù)據(jù)操作。Stream API借助于同樣新出現(xiàn)的Lambda表達式,極大的提高編程效率和程序可讀性,感興趣的朋友快來看看吧2021-11-11
關(guān)于Java繼承中父類和子類構(gòu)造函數(shù)的問題
這篇文章主要介紹了關(guān)于Java繼承中父類和子類構(gòu)造函數(shù)的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-10-10
SpringBoot Java后端實現(xiàn)okhttp3超時設(shè)置的方法實例
Okhttp的使用沒有httpClient廣泛,網(wǎng)上關(guān)于Okhttp設(shè)置代理的方法很少,下面這篇文章主要給大家介紹了關(guān)于SpringBoot Java后端實現(xiàn)okhttp3超時設(shè)置的相關(guān)資料,需要的朋友可以參考下2021-10-10

