想要自己寫乙個簡單的檔案上傳工具類。計畫是通過配置檔案配置相應的檔案上傳位置。通過@value取到值,然後使用。
因為工具類中一般都是靜態方法。所以檔案位置屬性就被順理成章的定義為了靜態屬性。(坑1)寫好之後,呼叫報錯:屬性為空,沒有取到值。然後發現問題,將static
修飾符去掉,作相應調整,呼叫方法時使用物件呼叫。(坑2)報錯依舊。
1、不能使用static
或final
修飾注入值的字段
2、類沒有被註冊為元件(@component)
3、類被new了例項,而不是使用自動注入(@autowired)
注意了以上三點之後,問題順利的解決了。由於@value不能注入靜態屬性,所以最後還是使用了其他解決方案完成了需求。
最終解決方案
value取不到值
value取不到值,後來發現不能用static來修飾 原 value private static string commonnetworkproxy 改為如下可以取到值 value private string commonnetworkproxy 總結 1.使用static或final修飾了ta...
使用 Value取不到值,為null
在使用 value的時候,可以從properties檔案中獲取值,我認為這樣符合解耦的特徵,今天在使用這個註解的時候即使賦值,卻只能取到null 主要錯誤 1.沒有在類上使用 component註解或其他衍生註解,使之成為容器,spring就獲取不到properties的值。2.在呼叫這個類的時候,...
Value取不到值的原因
今天被自己挖得坑栽了個大跟頭!事情是醬紫的,我看到這個配置類裡,直接用 value讀取了配置檔案中的值,於是乎,我也照葫蘆畫瓢,來了個靜態變數,隨手用快捷鍵,自動生成了set方法,如下 configuration public class commonconfig public void setsd...