springboot獲取properties屬性值的多種方式總結(jié)
獲取properties屬性值方式總結(jié)
spring boot 在多環(huán)境情況下我們需要根據(jù)不同的獲取不一樣的值, 我們會配置在不同的文件中,
那么我們怎么獲取配置的屬性值呢! 下面介紹幾種用法。
1. 除了默認配置在 application.properties的多環(huán)境中添加屬性
我們會在application.properties 中激活不同方式選擇下面的不同文件進行發(fā)布。
設置的激活參數(shù):dev, test, prod
spring.profiles.active=prod url.lm=editMessage url.orgCode=100120171116031838 url.ybd=http://www.test.com/sales/ url.PostUrl=/LmCpa/apply/applyInfo ?
獲取屬性可以, 定義配置類:
@ConfigurationProperties(prefix = "url") ? ? public class ?ManyEnvProperties{ ? ? ?private String lm; ? ? ?private String orgCode; ? ? ?private String ybd; ? ? ?private String postUrl; ? ? ?// 省列getter setter 方法 ? } ?
2. 使用之前在spring中加載的value值形式
@Component ? public class ManyEnvProperties { ? ? ?@Value("${url.lm}") ? ? ?private String lmPage; ? ? ?@Value("${url.ybd}") ? ? ?private String sendYbdUrl; ? ? ?@Value("${url.orgCode}") ? ? ?private String orgCode; ? ? ?@Value("${url.PostUrl}") ? ? ?private String PostUrl; ? ? ?// 省列getter setter 方法 ? } ?
3. 也可以使用springboot里面的Environment 直接取值
顯示注入, 其次是在需要的地方獲取值
@Autowired ? private Environment env; ? logger.info("===============》 " + env.getProperty("url.lm"));
4. 如果是自己新建的一個properties文件
@Component ? @ConfigurationProperties(prefix = "url") ? @PropertySource("classpath:/platform.properties") ? public class PropertiesEnv { ? ? ?private String lm; ? ? ?private String orgCode; ? ? ?private String ybd; ? ? ?private String postUrl; ? ?// 省列getter setter 方法 ? }?
獲取多個自定義屬性值
使用@Value 注入每個自定義配置,當自定義配置的屬性值過多時就比較麻煩了,這時通過springboot提供了基于類型安全的配置方法,通過@ConfigurationProperties將properties中的屬性和一個bean的屬性關聯(lián),從而實現(xiàn)類型安全的配置,
比如在application中自定義屬性
note.author=yzh note.name=china
可以通過
@ConfigurationProperties(prefix="note")
需要注意的是自定義屬性值的前綴統(tǒng)一為note才可以獲取到對應的屬性值.屬性值名稱要跟配置文件里面的名稱對應起來
同時通過這種方法需要生成屬性值的get/set 方法,否則獲取不到對應的屬性值
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Java內(nèi)存劃分:運行時數(shù)據(jù)區(qū)域
聽說Java運行時環(huán)境的內(nèi)存劃分是挺進BAT的必經(jīng)之路,這篇文章主要給大家介紹了關于Java運行時數(shù)據(jù)區(qū)域(內(nèi)存劃分)的相關資料,需要的朋友可以參考下2021-07-07springboot整合H2內(nèi)存數(shù)據(jù)庫實現(xiàn)單元測試與數(shù)據(jù)庫無關性
本篇文章主要介紹了springboot整合H2內(nèi)存數(shù)據(jù)庫實現(xiàn)單元測試與數(shù)據(jù)庫無關性,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-01-01java高并發(fā)ThreadPoolExecutor類解析線程池執(zhí)行流程
這篇文章主要為大家介紹了java高并發(fā)ThreadPoolExecutor類解析線程池執(zhí)行流程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-09-09SpringBoot 錯誤處理機制與自定義錯誤處理實現(xiàn)詳解
這篇文章主要介紹了SpringBoot 錯誤處理機制與自定義錯誤處理實現(xiàn)詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-11-11Spring cloud restTemplate 傳遞復雜參數(shù)的方式(多個對象)
這篇文章主要介紹了Spring cloud restTemplate 傳遞復雜參數(shù)的方式(多個對象),需要的朋友可以參考下2018-05-05