1. 程式人生 > >Spring框架入門篇(二)

Spring框架入門篇(二)

spring IoC容器可以自動裝配(autowire)相互協作bean之間的關聯關係。因此,如果可能的話,可以自動讓Spring通過檢查BeanFactory中的內容,來替我們指定bean的協作者(其他被依賴的bean)。

簡而言之,就是對於bean當中引用的其他bean不需要我們自己去配置它該使用哪個類,Spring 的自動裝配可以幫助我們完成這些工作。

autowire 的值有5個:default, no, byName, byType, constructor其中default等價於no

自動裝配優點:

l 自動裝配能顯著減少配置的數量。

l 自動裝配可以使配置與Java程式碼同步更新。

在開發過程中推薦採用自動裝配,而在系統趨於穩定的時候改為顯式裝配的方式。

自動裝配有5中型別:

byName

根據屬性名自動裝配。此選項將檢查容器並根據id的名字查詢與屬性名完全一致的bean,並將其與屬性自動裝配

byType

如果容器中存在一個與指定屬性型別相同的bean,那麼將與該屬性自動裝配;如果存在多個該型別bean,那麼丟擲異常,並指出不能使用byType方式進行自動裝配;

如果沒有找到相匹配的bean,則什麼事都不發生,屬性也不會被設定

constructor

與byType的方式類似,不同之處在於它應用於構造器引數。

如果在容器中沒有找到與構造器引數型別一致的bean,那麼將會丟擲異常

autodetect

通過bean類的自省機制(introspection)來決定是使用constructor還是byType方式進行自動裝配。如果發現預設的構造器,那麼將使用byType方式。高版本已經棄用

no

預設 。 必須顯示的使用"<ref />"標籤明確地指定bean合作者,對於部署給予更大的控制和明瞭