spring框架下@value注解屬性static無(wú)法獲取值問(wèn)題
@value注解屬性static無(wú)法獲取值
@Value("${appId}")
private static String appid;
這樣是無(wú)法直接獲得值的
解決辦法
需要這樣寫
private static String appid;
@Value("${appId}")
public void setAppid(String appId) {
this.appid = appid;
}
@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;
情況二:用該注解的類上面沒(méi)有加注解,即不能被spring管理
public class FTPManagerService {
@Value("${ftpIP}")
private static String ftpIP;
}
情況三:類被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;
}
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
利用solr實(shí)現(xiàn)商品的搜索功能(實(shí)例講解)
下面小編就為大家分享一篇利用solr實(shí)現(xiàn)商品的搜索功能,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-11-11
MyBatis XML方式的基本用法之多表查詢功能的示例代碼
這篇文章主要介紹了MyBatis XML方式的基本用法之多表查詢功能的示例代碼,本文通過(guò)示例文字相結(jié)合的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-07-07
mybatis同一張表多次連接查詢相同列賦值問(wèn)題小結(jié)
這篇文章主要介紹了mybatis同一張表多次連接查詢相同列賦值問(wèn)題,非常不錯(cuò),具有參考借鑒價(jià)值,需要的的朋友參考下2017-01-01
MyBatis limit分頁(yè)設(shè)置的實(shí)現(xiàn)
這篇文章主要介紹了MyBatis limit分頁(yè)設(shè)置的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04

