這一節主要通過乙個例項來展現幾種注入方式的區別:
有兩個元件a和b,a依賴於b。假定a是乙個類,且a有乙個方法importantmethod使用到了b. 要使用b,類a必須先獲得元件b的例項引用。若b是乙個具體類,則可通過new關鍵字直接建立元件b的例項。但是,如果b是介面,且有多個實現,則問題就變得複雜了。我們固然可以任意選擇介面b的乙個實現類,但這也意味著a的可重用性大大降低了,因為無法採用b的其他實現。
依賴注入是這樣處理此類情形的:接管物件的建立工作,並將該物件的引用注入到需要該物件的組價。主要有三種方式,分別是set注入,構造方法注入,註解注入。
這種方式需要編寫特定的set方法,該方法會被框架呼叫,以注入乙個b的例項。
public
class a
public
void
setb(b b)
}
spring會縣建立b的例項,在建立a的例項,然後把b注入到例項a中。
public
class a
public
void
importantmethod()
}
Spring Boot 教程 Bean和依賴注入
注 本文譯自 在spring boot 中,我們可以利用 spring framework 定義 bean 及其依賴注入。componentscan 及其對應的 autowired 註解被用於發現和注入 bean。如果你遵循典型的 spring boot 結構,那麼就不需要使用 components...
spring 依賴注入之 Resource注入
public propertyvalues postprocessproperties propertyvalues pvs,object bean,string beanname catch throwable ex return pvs private injectionmetadata fin...
Spring Spring開發準備
原始碼,jar檔案 spring framework 3.2.5.release commons logging 1.1.3.jar 日誌 spring beans 3.2.5.release.jar bean節點 spring context 3.2.5.release.jar spring上下文...