欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

springboot獲取properties屬性值的多種方式總結(jié)

 更新時(shí)間:2022年03月21日 11:57:11   作者:zhongzunfa  
這篇文章主要介紹了springboot獲取properties屬性值的多種方式總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

獲取properties屬性值方式總結(jié)

spring boot 在多環(huán)境情況下我們需要根據(jù)不同的獲取不一樣的值, 我們會(huì)配置在不同的文件中,

那么我們?cè)趺传@取配置的屬性值呢! 下面介紹幾種用法。

1. 除了默認(rèn)配置在 application.properties的多環(huán)境中添加屬性

我們會(huì)在application.properties 中激活不同方式選擇下面的不同文件進(jìn)行發(fā)布。

設(shè)置的激活參數(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; ?
? ?// 省列g(shù)etter 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; ?
? ?// 省列g(shù)etter setter 方法 ?
} ?

3. 也可以使用springboot里面的Environment 直接取值

顯示注入, 其次是在需要的地方獲取值

@Autowired ?
private Environment env; ?
logger.info("===============》 " + env.getProperty("url.lm")); 

4. 如果是自己新建的一個(gè)properties文件

@Component ?
@ConfigurationProperties(prefix = "url") ?
@PropertySource("classpath:/platform.properties") ?
public class PropertiesEnv { ?
? ?private String lm; ?
? ?private String orgCode; ?
? ?private String ybd; ?
? ?private String postUrl;
? ?// 省列g(shù)etter setter 方法 ?
}?

獲取多個(gè)自定義屬性值

使用@Value 注入每個(gè)自定義配置,當(dāng)自定義配置的屬性值過(guò)多時(shí)就比較麻煩了,這時(shí)通過(guò)springboot提供了基于類型安全的配置方法,通過(guò)@ConfigurationProperties將properties中的屬性和一個(gè)bean的屬性關(guān)聯(lián),從而實(shí)現(xiàn)類型安全的配置,

比如在application中自定義屬性

note.author=yzh
note.name=china

可以通過(guò)

@ConfigurationProperties(prefix="note")

需要注意的是自定義屬性值的前綴統(tǒng)一為note才可以獲取到對(duì)應(yīng)的屬性值.屬性值名稱要跟配置文件里面的名稱對(duì)應(yīng)起來(lái)

同時(shí)通過(guò)這種方法需要生成屬性值的get/set 方法,否則獲取不到對(duì)應(yīng)的屬性值 

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論