Spring IOC注入方式

2021-10-02 14:42:14 字數 3211 閱讀 2224

spring ioc手動注入分為四類,其中第1種set方法注入和第2種構造器注入的方法在我們的日常程式設計中比較常用.大家可以重點關注一下.

本次通過service層呼叫dao層的方法來展示

userdao.class

public class userdao 

}

set方法

public class userservice 

public void

test()

}.xml

"userdao" class=

"com.shsxt.dao.userdao"

/>

"userservice" class=

"com.shsxt.service.userservice"

>

<

!--業務物件 注入--

>

"userdao" ref=

"userdao"

/>

構造器

public class userservice 

}.xml

"userdao" class=

"com.shsxt.dao.userdao"

/>

"userservice" class=

"com.shsxt.service.userservice"

>

"userdao" ref=

"userdao"

>

<

/constructor-arg>

擴充套件方式注入

我們可以使用p命名空間和c命名空間進行注入

p命名空間無參建構函式、c命名空間有參建構函式

/beans>靜態工廠

定義工廠類

public class staticfactory

}.xml

<

!--靜態工廠注入--

>

"teacherservice" class=

"com.shsxt.factory.staticfactory" factory-method=

"createteacherservice"

>

<

/bean>

例項化工廠

定義工廠類

public class instancefactory

}.xml

<

!--例項化工廠注入--

>

"instancefactory" class=

"com.shsxt.factory.instancefactory"

>

<

/bean>

"teacherservice" factory-bean=

"instancefactory" factory-method=

"createservice"

>

<

/bean>

準備工作 配置環境xx.xml

!--開啟自動化裝配(注入)--

>

>@resource註解

private userdao ud;

@resource

public void

setud

(userdao ud)

1、預設根據屬性欄位名稱查詢對應的bean物件 (屬性欄位的名稱與bean標籤的id屬性值相等)

2、如果屬性欄位名稱未找到,則會通過型別(class型別)查詢

3、屬性可以提供set方法,也可以不提供set方法

4、註解可以宣告在屬性級別 或 set方法級別

5、@resource可以設定name屬性,name屬性值必須與bean的id屬性值一致;如果設定了name屬性值,就只會按照name屬性值查詢bean物件

6、當注入介面時,如果介面只有乙個實現則正常例項化;如果介面存在多個實現,則需要使用name屬性指定需要被例項化的bean物件

@autowired註解

@autowired

@qualifier

(value =

"accountdao"

)private accountdao accountdao;

public void

setaccountdao

(accountdao accountdao)

1、預設通過型別(class型別)查詢bean物件 與屬性欄位的名稱無關

2、屬性可以提供set方法,也可以不提供set方法

3、註解可以宣告在屬性級別 或 set方法級別

4、可以新增@qualifier結合使用,通過value屬性值查詢beam物件(value屬性值必須要設定,且值要與bwan標籤的id屬性值對應)

Spring Ioc 依賴注入的幾種方式

一 setter方法注入 配置檔案如下 action實現類中 private ihelloservice helloservice private string name public void sayhello public void sethelloservice ihelloservice h...

spring ioc 依賴注入

spring ioc 控制反轉,或叫依賴注入 簡單的bean裝配 import import import test.helloworld public class test public class helloworld beans.xml xml version 1.0 encoding utf...

Spring IOC 依賴注入的三種方式

一 spring ioc 依賴注入的三種方式 1 setter方法注入。2 構造方法注入。使用構造方法,注入bean值。關鍵 public userserviceimpl userdao dao 3 p命名空間注入。二 spring ioc 依賴注入的五種不同資料型別 1 注入直接量 基本資料型別 ...