問題:springmvc給靜態變數注入報:@autowired annotation is not supported on static fields
原因:spring annotation不支援靜態變數
注入
解決:
方法一:把get,set方法的static
修飾符去掉,然後在set方法
上面加@autowired
即可
public
class
endecryptionserviceimpl
implements
iendecryptionservice
@autowired
public
void
public uploadimgoss getuploadimgoss()
@autowired
public
void
setuploadimgoss
(uploadimgoss uploadimgoss)
}
方法二:在建構函式上加上@autowired
/**
* 第二種解決 autowired annotation is not supported on static fields的方式
*/@autowired
public
void
endecryptionservicetwoimpl
xml方式
適合基於xml配置的web專案
"mongofileoperationutil"
class
="com.*.*.mongofileoperationutil"
init-method
="init"
>
name
="dsforrw"
ref="dsforrw"
/>
bean
>
@postconstruct方式
import org.mongodb.morphia.advanceddatastore;
import org.springframework.beans.factory.annotation.autowired;
@component
public
class
mongofileoperationutil
}
@postconstruct 註解的方法在載入類的建構函式之後執行,也就是在載入了建構函式之後,執行init方法;(@predestroy 註解定義容器銷毀之前的所做的操作)
這種方式和在xml中配置 init-method和 destory-method方法差不多,定義spring 容器在初始化bean 和容器銷毀之前的所做的操作
set方法上新增@autowired註解,類定義上新增@component註解
import org.mongodb.morphia.advanceddatastore;
import org.springframework.beans.factory.annotation.autowired;
import org.springframework.stereotype.component;
@component
public
class
mongofileoperationutil
}
首先spring要能掃瞄到advanceddatastore的bean,然後通過setter方法注入;
然後注意:成員變數上不需要再新增@autowired註解;
spring 依賴注入 Spring依賴注入
依賴注入 dependency injection,簡稱di 與控制反轉 ioc 的含義相同控制反 在使用spring框架之後,物件的例項不再由呼叫者來建立,而是由spring容器來建立,spring容器會負責控制程式之間的關係,而不是由呼叫者的程式 直接控制,這樣控制權由應用程式轉移到了sprin...
Spring依賴注入
所謂依賴注入,是指在程式執行過程中,如果需要呼叫另乙個物件協助時,無須在 中建立按被呼叫者,而是依賴外部注入。spring 的依賴注入對呼叫者和被呼叫者幾乎沒有任何要求,完全支援對 pojo 之間依賴關係的管理。依賴注入的兩種方式 1 設值注入 設值注入是指通過 setter 方法傳入被呼叫者的例項...
SPring依賴注入
所謂依賴注入,是指在程式執行過程中,如果需要呼叫另乙個物件協助時,無須在 中建立按被呼叫者,而是依賴外部注入。spring的依賴注入對呼叫者和被呼叫者幾乎沒有任何要求,完全支援對pojo之間依賴關係的管理。依賴注入的兩種方式 1 設值注入 設值注入是指通過setter方法傳入被呼叫者的例項。這種注入...