在spring中預設是不能注入static變數的,因為static是類變數,而spring是基於例項物件進行注入的.
但是我們有時候需要static的變數進行操作.比如我們經常使用的jedis,如果每次呼叫jedis的時候都要例項化一遍,是非常麻煩的.
解決辦法如下:
1. 我們先通過set方法注入乙個jedispool物件 ,然後再將這個物件賦值給static變數pool,於是我們就可以使用 pool了
@component
public
class
jedisutils
}
@component
@lazy(false)//啟動便載入
public
class
springbeanutils
implements
private
@suppresswarnings("unchecked")
public
static
t getbean(string name)
/***/
public
static
t getbean(classrequiredtype)
@override
public
void
}@override
public
void
destroy() throws exception
}
然後我們這樣:
//@component 這時候就不能有這個註解了,因為已經無需注入了
public
class jedisutils
Spring依賴注入static靜態變數相關問題
問題 springmvc給靜態變數注入報 autowired annotation is not supported on static fields 原因 spring annotation不支援靜態變數注入 解決 方法一 把get,set方法的static修飾符去掉,然後在set方法上面加 au...
首篇 spring使用 value注入靜態變數
大家平時使用spring的時候,可能會使用到配置類,進而有可能使用到靜態變數,需要從配置檔案中讀取值。下面是我自己的一點小小的總結,希望能夠幫助大家。對要使用的靜態變數生成set方法,然後去掉set方法中的static,在這個set方法上使用 value註解注入,例如 class test publ...
spring方法注入 Spring方法注入
spring方法注入 spring核心現成可用,有兩個作用域 單例和原型。單例實現單例模式,這意味著在執行時 在jvm中 只有乙個例項。spring在上下文建立期間例項化它們,將它們快取在上下文中,並在需要時 或類似的東西 從快取中提供它們。每次訪問上下文以獲取bean時都會例項化原型。當需要在單例...