Spring 依賴注入

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

依賴關(guān)系查找

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

A obj = new AImpl();

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

A obj = A.getA();

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

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

Context ctx = new InitialContext();
Context environmentCtx = (Context) ctx.lookup("java:comp/env");
A obj = (A)environmentCtx.lookup("A");

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

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

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

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

依賴注入

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

class Employee{
Address address;
Employee(Address address){
this.address=address;
}
public void setAddress(Address address){
this.address=address;
}
}

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

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

Spring框架提供了兩種注入依賴項的方法

通過構(gòu)造方法 通過Setter方法

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清