Spring04 要讓「它」自動裝配

2021-10-10 09:18:02 字數 3143 閱讀 4383

spring中bean自動裝配有三種裝配機制:

spring的自動裝配需要從兩個角度來實現,或者說是兩個操作:

採用autowire byname)(按名稱自動裝配

//新建兩個實體類,cat dog都有乙個叫的方法

public

class

cat}

public

class

dog}

//新建乙個使用者類user

public

class

user

編寫spring配置檔案,注意user注入的那一塊的bean

<?xml version="1.0" encoding="utf-8"?>

xmlns

=""xmlns:xsi

=""xsi:schemalocation

="/spring-beans.xsd"

>

"dog"

class

="com.kuang.pojo.dog"

/>

"cat"

class

="com.kuang.pojo.cat"

/>

"user"

class

="com.kuang.pojo.user"

autowire

="byname"

>

name

="str"

value

="qinjiang"

/>

bean

>

beans

>

測試一波

public

class

mytest

}

nice!輸出正常

採用autowire bytype(按型別自動裝配)

使用autowire bytype首先需要保證:同一型別的物件,在spring容器中唯一。如果不唯一,會報不唯一的異常

"dog"

class

="com.kuang.pojo.dog"

/>

"cat"

class

="com.kuang.pojo.cat"

/>

"cat2"

class

="com.kuang.pojo.cat"

/>

"user"

class

="com.kuang.pojo.user"

autowire

="bytype"

>

name

="str"

value

="qinjiang"

/>

bean

>

在spring配置檔案中引入context檔案頭

xmlns:context=""

/spring-context.xsd

開始屬性註解支援!

<

context:annotation-config

/>

測試註解

//將user類中的set方法去掉,使用@autowired註解

public

class

user

public dog getdog()

public string getstr()

}

此時配置檔案內容

<

context:annotation-config

/>

"dog"

class

="com.kuang.pojo.dog"

/>

"cat"

class

="com.kuang.pojo.cat"

/>

"user"

class

="com.kuang.pojo.user"

/>

nice測試成功,結果成功輸出

"dog1"

class

="com.kuang.pojo.dog"

/>

"dog2"

class

="com.kuang.pojo.dog"

/>

"cat1"

class

="com.kuang.pojo.cat"

/>

"cat2"

class

="com.kuang.pojo.cat"

/>

沒有加qualifier測試,直接報錯

@autowired

@qualifier

(value =

"cat2"

)private cat cat;

@autowired

@qualifier

(value =

"dog2"

)private dog dog;

nice成功輸出

public

class

user

"dog"

class

="com.kuang.pojo.dog"

/>

"cat1"

class

="com.kuang.pojo.cat"

/>

"cat2"

class

="com.kuang.pojo.cat"

/>

"user"

class

="com.kuang.pojo.user"

/>

nice測試結果成功

Spring自動裝配

先在cn.csdn.hr.dao包中建立幾個檔案 public inte ce basedao public class basehibernatedaoimpl implements basedao public inte ce customerdao public class customerd...

Spring自動裝配

通常情況下,配置bean的時候,一些屬性依賴需要我們自己去裝配,但是如果這是乙個比較大型的工程,裡面定義了成百上千個bean,那全都靠我們手工去裝配,你一定打心底厭煩,幸運的是spring為我們提供了自動裝配的方式 只要遵循一定的規則,spring就會自動幫你裝配依賴,而不需要你手工去裝配 自動裝配...

Spring 自動裝配

bean的自動裝配 autowiring 四種型別 1.no 不做任何操作 2.byname 根據屬性名自動裝配。此選項將檢查容器並根據名字查詢與屬性完全一致的bean,並將其與屬性自動裝配 3.bytype 如果容器中存在乙個與指定屬性型別相同的bean,那麼將與該屬性自動裝配 如果存在多個該型別...