###問題**:
public class bisfrontfileutil ")
private static string ccbipaddress;
@value("$")
private static int ccbipport;
public static boolean putfiletofront(string filename, string filecontentstr) else
} catch (exception e)
return flag;
}}
###結果:
執行後發現ccbipaddress為null ,ccbipport為0(int預設為0了)。
###原因:
後來google發現spring boot不允許/不支援把值注入到靜態變數中。
###修正方法:
spring boot支援set方法注入,我們可以利用非靜態set方法注入靜態變數
###修正**:
@component
public class bisfrontfileutil ")
public void setccbipaddress(string ccbipaddress)
@value("$")
public void setccbipport(int ccbipport)
/*** 上傳檔案至bis前置機
* @param filename
* @param filecontentstr
* @return
*/public static boolean putfiletofront(string filename, string filecontentstr) else
} catch (exception e)
return flag;
}}
###注意:
1、 修正**中的@component不可丟掉了
2、 set方法要是非靜態的
Springboot靜態變數注入問題
在使用springboot框架時,可能遇到給自定義的工具類的靜態成員變數賦值,此時spring又不支援直接給靜態變數賦值,在網上查了許多,發現其思想為通過賦值給非靜態類的非靜態方法賦值,同時利用靜態方法成員變數的get或有參建構函式等進行呼叫賦值。換賦值 如 public class methodt...
Value 給靜態變數賦值
value可以直接獲取配置檔案裡的配置資訊 今天給靜態變數賦值的時候為null,一查才發現 value不能直接給靜態變數賦值。需要做如下變通 把註解放在變數的set方法上面 注意set方法不能用static修飾 private static string enc path private stati...
靜態變數和非靜態變數
class string1 a和b編譯報錯,can not make a static referrence to no static filed s3,s4 分析 string s1 pingguo string s2 xiangjiao string s3 new string lizi str...