69pao国产精品视频-久久精品一区二区二三区-精品国产精品亚洲一本大道-99国产综合一区久久

Spring 依賴注入

spring 依賴注入

依賴注入(di)是一種設(shè)計(jì)模式,可以從編程代碼中刪除依賴,以便可以輕松管理和測(cè)試應(yīng)用程序。依賴注入使我們的編程代碼松散耦合。為了更好地理解di,讓我們首先了解依賴關(guān)系查找(dl):

依賴關(guān)系查找

依賴查找是一種在需求之后獲取資源的方法。例如,可以有多種獲取資源的方法:

a obj = new aimpl();

這樣,我們可以通過new關(guān)鍵字直接獲取資源(a類的實(shí)例)。另一種方法是工廠方法:

a obj = a.geta();

這樣,我們通過調(diào)用靜態(tài)工廠方法geta()獲取資源(a類的實(shí)例)。

或者,我們可以通過jndi(java命名目錄接口)獲取資源。 :

context ctx = new initialcontext();
context environmentctx = (context) ctx.lookup("java:comp/env");
a obj = (a)environmentctx.lookup("a");

可以有多種獲取資源的方法來獲取資源。讓我們看看這種方法的問題。

 

依賴關(guān)系查找問題

主要有兩個(gè)依賴關(guān)系查找問題。

 

  • 緊密耦合: 依賴關(guān)系查找方法使代碼緊密耦合。如果更改了資源,則需要對(duì)代碼進(jìn)行大量修改。
  • 測(cè)試不容易: 這種方法在測(cè)試應(yīng)用程序時(shí)會(huì)產(chǎn)生很多問題,尤其是在黑盒測(cè)試中。

 

 

依賴注入

依賴注入是一種設(shè)計(jì)模式,它消除了程式。在這種情況下,我們提供來自外部源(例如xml文件)的信息。它使我們的代碼松散耦合,并且更易于測(cè)試。在這種情況下,我們將代碼編寫為:

class employee{
address address;
employee(address address){
this.address=address;
}
public void setaddress(address address){
this.address=address;
}
}

在這種情況下,address類的實(shí)例由外部源(例如xml文件)通過構(gòu)造函數(shù)或setter方法提供。

 

在spring框架中執(zhí)行依賴注入的兩種方法

spring框架提供了兩種注入依賴項(xiàng)的方法

 

  • 通過構(gòu)造方法
  • 通過setter方法

 

spring 依賴項(xiàng)構(gòu)造方法注入示例 具有依賴對(duì)象的構(gòu)造函數(shù)注入 constructor注入以及示例 constructor注入(具有從屬對(duì)象)示例 constructor注入和map示例 constructor注入(具有相關(guān)對(duì)象)示例 spring bean繼承 spring setter方法注入 setter注入和依賴對(duì)象示例 setter注入和集合示例 setter注入(具有相關(guān)對(duì)象)示例 setter注入和map示例 帶非字符串映射的setter注入示例 構(gòu)造函數(shù)與setter注入之間的區(qū)別

下一節(jié):spring 自動(dòng)裝配

spring 教程

相關(guān)文章