Spring基礎09 Bean的自動裝配

2022-03-28 06:37:45 字數 1400 閱讀 4010

springioc容器可以自動裝配bean,需要做的僅僅是在的autowire屬性裡指定自動裝配的模式,而不需要手工去指定要裝配的bean,autowire屬性有兩個值byname和bytype,分別對應按照名稱裝配和按照型別裝配。

byname:根據bean的名字和bean setter風格的屬性名進行自動裝配,若有匹配的則進行裝配,如果沒有則不進行裝配

bytype:根據bean的型別進行裝配,如果有乙個以上該型別的bean那麼就會報錯。

自動裝配的xml配置檔案:

1

<

bean

id="address"

class

="com.wzy.autowire.address"

p:city

="hangzhou"

p:street

="xi xi street"

/>23

<

bean

id="car"

class

="com.wzy.autowire.car"

p:brand

="audi"

p:price

="1000000"

/>45

6789

<

bean

id="person"

class

="com.wzy.autowire.person"

p:name

="wzy"

autowire

="bytype"

/>

注意:這裡通過名字自動裝配的bean中屬性的名字必須要和spring中配置的bean的id完全相同,且擁有對應屬性的setter方法,才能進行自動裝配。通過型別進行裝配,如果容器中有乙個以上型別的bean那麼就會發生錯誤。通過名稱自動裝配屬性名必須和bean的id對應。

bean中屬性的名字:

自動裝配bean的名字:

1)如果乙個使用自動裝配,那麼所有的都得使用自動裝配。

2)一旦指定bytype和byname不能兼得,兩者不能同時兼得。

3)一般情況下,在實際的專案中很少使用自動裝配功能,因為和自動裝配功能帶來的好處相比起來,明確清晰的配置文件更有說服力一些。

09Bean依賴檢查的四種模式

為什麼要使用依賴檢查?在自動裝配中,因為是隱式的,不直觀,所以很難看出bean的每個屬性是否都完成了設定。依賴檢查能夠檢視bean的每個屬性是否都設定完成的功能。使用bean的 dependency check 屬性來指定 bean 定義的依賴檢查模式。依賴檢查共有四種模式 模式指的是對基本型別 字...

bean的作用域 spring基礎

1 單例模式 singleton spring預設機制 無論建立多少個spring ioc容器的bean例項,只要id與bean定義相匹配,就只會返回bean的同一例項 singleton 為預設值 原型模式示意圖 3 request 針對每次http請求,spring容器會根據loginactio...

Spring基礎之Bean的生命週期

無論學習什麼,了解它的生命週期是十分重要的。通過了解bean的生命週期,我們就可以在它的生命中做些什麼,讓它不虛度光陰。配置檔案 xmlns xsi xmlns aop xmlns tx xsi schemalocation spring beans 2.5.xsd spring aop 2.5.x...