關(guān)于@Value注解取不到值的幾種情況
@Value注解取不到值的幾種情況
在spring的框架中,我們經(jīng)常使用@Value注解來(lái)獲取定義在application.properties的屬性值,正常情況下是可以輕松的獲取到值的,但是有幾種特殊情況下是獲取不到值的,在這記錄下,以防止以后犯錯(cuò)誤。正常獲取的用法如下:
在application.properties中定義一個(gè)屬性值:
![]()
正常情況下在代碼里面這樣獲?。?/p>
@Value("${ftpIP}")
private String ftpIP;
幾種獲取不到值的特殊情況如下
情況一:使用static或者final修飾了tagValue
@Value("${ftpIP}")
private static String ftpIP;
@Value("${ftpUserName}")
private final String ftpUserName;
情況二:用該注解的類(lèi)上面沒(méi)有加注解,即不能被spring管理
public class FTPManagerService {
@Value("${ftpIP}")
private static String ftpIP;
}
情況三:類(lèi)被new新建了實(shí)例,而沒(méi)有使用@Autowired
public class FTPManagerService {
@Value("${ftpIP}")
private static String ftpIP;
}
public class Test{
/*錯(cuò)誤用法*/
FTPManagerService f = new FTPManagerService ();
/*正確用法*/
@Autowired
FTPManagerService f2;
}
@Value取不到值的原因
在springboot中想獲取配置文件中的值,一般的方法為
@Value("${tag}")
private String tagValue;
但是取值時(shí),有時(shí)這個(gè)tagvalue為NULL,
可能原因有
1.類(lèi)沒(méi)有加上@Component(或者@service等)
@Component //遺漏
class TestValue{
@Value("${tag}")
private String tagValue;
}
2.類(lèi)被new新建了實(shí)例,而沒(méi)有使用@Autowired
@Component
class TestValue{
@Value("${tag}")
private String tagValue;
}
class Test{
...
TestValue testValue = new TestValue()
正確方式
1.使用@Autowired注入
2.在controller層注值
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
簡(jiǎn)單了解Java中多態(tài)的基礎(chǔ)知識(shí)
這篇文章主要介紹了簡(jiǎn)單了解Java中的多態(tài),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09
mapstruct的用法之qualifiedByName示例詳解
qualifiedByName的意思就是使用這個(gè)Mapper接口中的指定的默認(rèn)方法去處理這個(gè)屬性的轉(zhuǎn)換,而不是簡(jiǎn)單的get?set,今天通過(guò)本文給大家介紹下mapstruct的用法之qualifiedByName示例詳解,感興趣的朋友一起看看吧2022-04-04
劍指Offer之Java算法習(xí)題精講二叉搜索樹(shù)與數(shù)組查找
跟著思路走,之后從簡(jiǎn)單題入手,反復(fù)去看,做過(guò)之后可能會(huì)忘記,之后再做一次,記不住就反復(fù)做,反復(fù)尋求思路和規(guī)律,慢慢積累就會(huì)發(fā)現(xiàn)質(zhì)的變化2022-03-03
在Java中,生成隨機(jī)數(shù)有兩種方法。1是使用Random類(lèi)。2是使用Math類(lèi)中的random方法??聪旅娴睦邮褂冒?/div> 2013-11-11
Spring時(shí)間戳(日期)格式轉(zhuǎn)換方式
這篇文章主要介紹了Spring時(shí)間戳(日期)格式轉(zhuǎn)換方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-03-03
詳解如何讓Spring MVC顯示自定義的404 Not Found頁(yè)面
這篇文章主要介紹了詳解如何讓Spring MVC顯示自定義的404 Not Found頁(yè)面,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-10-10
springboot編程式事務(wù)TransactionTemplate的使用說(shuō)明
這篇文章主要介紹了springboot編程式事務(wù)TransactionTemplate的使用說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06最新評(píng)論

