關(guān)于@Value注解取不到值的幾種情況
@Value注解取不到值的幾種情況
在spring的框架中,我們經(jīng)常使用@Value注解來獲取定義在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;
情況二:用該注解的類上面沒有加注解,即不能被spring管理
public class FTPManagerService {
@Value("${ftpIP}")
private static String ftpIP;
}
情況三:類被new新建了實(shí)例,而沒有使用@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.類沒有加上@Component(或者@service等)
@Component //遺漏
class TestValue{
@Value("${tag}")
private String tagValue;
}
2.類被new新建了實(shí)例,而沒有使用@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)文章
mapstruct的用法之qualifiedByName示例詳解
qualifiedByName的意思就是使用這個(gè)Mapper接口中的指定的默認(rèn)方法去處理這個(gè)屬性的轉(zhuǎn)換,而不是簡單的get?set,今天通過本文給大家介紹下mapstruct的用法之qualifiedByName示例詳解,感興趣的朋友一起看看吧2022-04-04
劍指Offer之Java算法習(xí)題精講二叉搜索樹與數(shù)組查找
跟著思路走,之后從簡單題入手,反復(fù)去看,做過之后可能會忘記,之后再做一次,記不住就反復(fù)做,反復(fù)尋求思路和規(guī)律,慢慢積累就會發(fā)現(xiàn)質(zhì)的變化2022-03-03
在Java中,生成隨機(jī)數(shù)有兩種方法。1是使用Random類。2是使用Math類中的random方法??聪旅娴睦邮褂冒?/div> 2013-11-11
Spring時(shí)間戳(日期)格式轉(zhuǎn)換方式
這篇文章主要介紹了Spring時(shí)間戳(日期)格式轉(zhuǎn)換方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-03-03
詳解如何讓Spring MVC顯示自定義的404 Not Found頁面
這篇文章主要介紹了詳解如何讓Spring MVC顯示自定義的404 Not Found頁面,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-10-10
springboot編程式事務(wù)TransactionTemplate的使用說明
這篇文章主要介紹了springboot編程式事務(wù)TransactionTemplate的使用說明,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06最新評論

