一、構造器注入
將被依賴物件通過建構函式的引數注入給依賴物件,並且在初始化物件的時候注入。
優點:物件初始化完成後便可獲得可使用的物件。
缺點:當需要注入的物件很多時,構造器引數列表將會很長;
不夠靈活。若有多種注入方式,每種方式只需注入指定幾個依賴,那麼就需要提供多個過載的建構函式,麻煩。
二、setter方法注入
ioc service provider通過呼叫成員變數提供的setter函式將被依賴物件注入給依賴類。
優點:靈活。可以選擇性地注入需要的物件。
缺點:依賴物件初始化完成後由於尚未注入被依賴物件,因此還不能使用。
三、介面注入
依賴類必須要實現指定的介面,然後實現該介面中的乙個函式,該函式就是用於依賴注入。該函式的引數就是要注入的物件。
優點介面注入中,介面的名字、函式的名字都不重要,只要保證函式的引數是要注入的物件型別即可。
缺點:侵入行太強,不建議使用。
ps:什麼是侵入行?
如果類a要使用別人提供的乙個功能,若為了使用這功能,需要在自己的類中增加額外的**,這就是侵入性。
依賴注入方式
spring框架 開門見山,這篇部落格詳細講一講這個依賴注入的方式,let s go set方法 有參構造 介面 那麼,我們的spring容器依賴注入也將採用set方法和有參構造這兩種方式進行。還有一點,di依賴注入的方式 1 配置 2 註解 以下所做皆在控制反轉步驟的基礎之上。沒有看控制反轉步驟的...
依賴注入的方式
手工注入 bean id textprinter class com.neusoft.test.spring.impl.textprinter constructor arg index 0 refbean formaterbean constructor arg constructor arg i...
依賴注入的方式
依賴注入的方式有三種 一.屬性注入 setter方法 二.構造器注入 三.工廠方法注入 極少使用 通過 setter 方法注入bean 的屬性值或依賴的物件,使用 元素,使用 name 屬性指定 bean 的屬性名稱,value 屬性或 子節點指定屬性值 class x value property...