spring框架下@value注解屬性static無法獲取值問題
@value注解屬性static無法獲取值
@Value("${appId}") private static String appid;
這樣是無法直接獲得值的
解決辦法
需要這樣寫
private static String appid; @Value("${appId}") public void setAppid(String appId) { this.appid = appid; }
@Value注解取不到值的幾種情況
在spring的框架中,我們經(jīng)常使用@Value注解來獲取定義在application.properties的屬性值,正常情況下是可以輕松的獲取到值的,但是有幾種特殊情況下是獲取不到值的,在這記錄下,以防止以后犯錯誤。正常獲取的用法如下:
在application.properties中定義一個屬性值:
正常情況下在代碼里面這樣獲取:
@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新建了實例,而沒有使用@Autowired
public class FTPManagerService { @Value("${ftpIP}") private static String ftpIP; } public class Test{ /*錯誤用法*/ FTPManagerService f = new FTPManagerService (); /*正確用法*/ @Autowired FTPManagerService f2; }
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Java中EasyExcel使用自定義Converter處理方法詳解
EasyExcel自定義Converter是指在使用EasyExcel進行Excel讀寫操作時,可以自定義轉換器來處理一些不支持的數(shù)據(jù)類型,這篇文章主要給大家介紹了關于Java中EasyExcel使用自定義Converter處理的相關資料,需要的朋友可以參考下2024-08-08httpclient staleConnectionCheckEnabled獲取連接流程解析
這篇文章主要為大家介紹了httpclient staleConnectionCheckEnabled獲取連接流程示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-11-11SpringBoot使用MockMvc進行Web集成測試的示例詳解
MockMvc?是一個測試框架,可以模擬?HTTP?請求和響應,在本文中,我們將介紹如何使用MockMvc進行Web集成測試,以及如何編寫測試用例來測試Spring?MVC控制器,希望對大家有所幫助2023-06-06Mybatis-Plus?sum聚合函數(shù)及按日期查詢并求和的方式詳解
這篇文章主要介紹了Mybatis-Plus sum聚合函數(shù)及按日期查詢并求和,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-06-06