最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決使用@Value(${×××))從properties文件取值的坑

 更新時(shí)間:2021年07月07日 09:11:03   作者:觀棋不語的我  
這篇文章主要介紹了解決使用@Value(${×××))從properties文件取值的坑,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

@Value(${×××))從properties文件取值

前提:

你的實(shí)體類已經(jīng)加入到了IOC容器中(使用@Compenet等注解)

報(bào)錯(cuò)代碼:

@Value("${driver}")
private String driver;
@Value("${url}")
private String url;
@Value("${username}")
private String userName;
@Value("${password}")
private String password;

properties文件

driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/abc?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=false
username=root
password=admin

此時(shí)你這樣寫 @Value 注解是無法獲取 properties文件中的值的

必須要在properties文件屬性前加上前綴(任意)即可

如:

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/abc?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=false
jdbc.username=root
jdbc.password=admin

對(duì)應(yīng)的類也要修改

@Value("${jdbc.driver}")
private String driver;
@Value("${jdbc.url}")
private String url;
@Value("${jdbc.username}")
private String userName;
@Value("${jdbc.password}")
private String password;

這樣就可以正常獲取了

補(bǔ)充:

1、靜態(tài)變量無法注入

2、Springboot默認(rèn)屬性文件是application.properties

Spring @Value("${}")空值處理

場(chǎng)景:

Test類中有一個(gè)在application.properties配置的屬性email

@Value("${email}")
private String email;

如果email在配置中沒有配置,應(yīng)用啟動(dòng)時(shí)將報(bào)找不到該屬性異常,導(dǎo)致啟動(dòng)失敗。

解決方案1:

在Test類上同時(shí)加上@Component,@Lazy

解決方案2:

在springboot中提供了@ConditionalOnProperty注解

設(shè)置注入條件

@ConditionalOnProperty(name = "flag", havingValue = "true")

僅當(dāng)配置文件application.properties中flag屬性為true時(shí)才會(huì)實(shí)例化bean

相關(guān)文章

最新評(píng)論

大悟县| 宣威市| 凤山市| 广安市| 浑源县| 张家港市| 金寨县| 永顺县| 宝鸡市| 泰兴市| 尉犁县| 霍林郭勒市| 刚察县| 吉木萨尔县| 长垣县| 喀喇沁旗| 永年县| 永胜县| 丽江市| 宜昌市| 上栗县| 繁峙县| 长沙县| 丹巴县| 永丰县| 卓尼县| 项城市| 九龙县| 同心县| 大埔区| 巢湖市| 临泽县| 玉山县| 正宁县| 柳江县| 荣成市| 应城市| 潍坊市| 益阳市| 平阴县| 麻栗坡县|