Spring 依賴(lài)注入

spring 依賴(lài)注入

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

依賴(lài)關(guān)系查找

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

a obj = new aimpl();

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

a obj = a.geta();

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

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

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

可以有多種獲取資源的方法來(lái)獲取資源。讓我們看看這種方法的問(wèn)題。

 

依賴(lài)關(guān)系查找問(wèn)題

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

 

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

 

 

依賴(lài)注入

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

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

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

 

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

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

 

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

 

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

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

spring 教程

相關(guān)文章
亚洲国产精品第一区二区,久久免费视频77,99V久久综合狠狠综合久久,国产免费久久九九免费视频