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...