1. 程式人生 > >spring bean標籤,及其子標籤使用

spring bean標籤,及其子標籤使用

<beans> 
Spring配置檔案的根元素,包含一個或多個bean元素。 

default-autowire屬性:預設的bean自動裝配模式。可選5種模式。 

no:不使用自動裝配。Bean的引用必須通過ref元素定義。 

byName:通過屬性名字進行自動裝配。 

byType:如果BeanFactory中正好有一個同屬性型別一樣的bean,就自動裝配這個屬性。如果有多於一個這樣的bean,就丟擲一個致命異常,它指出你可能不能對那個bean使用byType的自動裝配。如果沒有匹配的bean,則什麼都不會發生,屬性不會被設定。如果這是你不想要的情況(什麼都不發生),通過設定dependency-check="objects"屬性值來指定在這種情況下應該丟擲錯誤。 

constructor:這個同byType類似,不過是應用於建構函式的引數。如果在BeanFactory中不是恰好有一個bean
與建構函式引數相同型別,則一個致命的錯誤會產生。 

autodetect: 通過對bean 檢查類的內部來選擇constructor或byType。如果找到一個預設的建構函式,那麼就會應用byType。 

default-dependency-check屬性:預設的依賴檢查模式。可選四種。 

none :不進行依賴檢查。沒有指定值的bean屬性僅僅是沒有設值。 

Simple:對基本型別和集合(除了合作者外,比如其他的bean,所有東西)進行依賴檢查。 

Object:對合作者進行依賴檢查。 

all :對合作者,基本型別和集合都進行依賴檢查。 

default-lazy-init屬性:預設延遲載入。True 或False 。 

用於告訴Spring
容器一個類以及它是如何配置的。 

class屬性:Java Bean 類名。 

id屬性:Java Bean在BeanFactory中的唯一標識,程式碼中通過BeanFactory獲取JavaBean例項時需以此作為索引名稱。 

name屬性:同上,如果給bean增加別名,可以通過name屬性指定一個或多個id。 

singleton屬性:指定此Java Bean是否採用單例(Singleton)模式,如果設為“true”,則在BeanFactory作用範圍內,只維護此JavaBean的一個例項,程式碼通過BeanFactory獲得此Java Bean例項的引用。反之,如果設為“false”,則通過BeanFactory獲取此JavaBean
例項時,BeanFactory每次都將建立一個新的例項返回。 

abstract屬性:設定ApplicationContext是否對bean進行預先的初始化。 

parent屬性:定義一個模板。 

autowire屬性:bean自動裝配模式。可選5種模式。 

no:不使用自動裝配。Bean的引用必須通過ref元素定義。 

byName:通過屬性名字進行自動裝配。 

byType:如果BeanFactory中正好有一個同屬性型別一樣的bean,就自動裝配這個屬性。如果有多於一個這樣的bean,就丟擲一個致命異常,它指出你可能不能對那個bean使用byType的自動裝配。如果沒有匹配的bean,則什麼都不會發生,屬性不會被設定。如果這是你不想要的情況(什麼都不發生),通過設定dependency-check="objects"屬性值來指定在這種情況下應該丟擲錯誤。 

constructor:這個同byType類似,不過是應用於建構函式的引數。如果在BeanFactory中不是恰好有一個bean與建構函式引數相同型別,則一個致命的錯誤會產生。 

autodetect: 通過對bean 檢查類的內部來選擇constructor或byType。如果找到一個預設的建構函式,那麼就會應用byType。 

dependency-check屬性:依賴檢查模式。可選四種。 

none :不進行依賴檢查。沒有指定值的bean屬性僅僅是沒有設值。 

Simple:對基本型別和集合(除了合作者外,比如其他的bean,所有東西)進行依賴檢查。 

Object:對合作者進行依賴檢查。 

all :對合作者,基本型別和集合都進行依賴檢查。 

lazy-init屬性:延遲載入。True 或False 。 

init-method屬性:初始化方法,此方法將在BeanFactory建立JavaBean例項之後,在嚮應用層返回引用之前執行。一般用於一些資源的初始化工作。 

destroy-method屬性:銷燬方法。此方法將在BeanFactory銷燬的時候執行,一般用於資源釋放。 

factory-bean屬性:通過例項工廠方法建立bean,class屬性必須為空,factory-bean屬性必 

須指定一個bean的名字,這個bean一定要在當前的bean工廠或者父bean工廠中,幷包含工廠方法。而工廠方法本身通過factory-method屬性設定。 

factory-method屬性:設定工廠類的工廠方法。 

depends-on屬性:Bean依賴關係。一般情況下無需設定。Spring會根據情況組織各個依賴關係的構建工作。只有某些特殊情況下,如JavaBean中的某些靜態變數需要進行初始化(這是一種BadSmell,應該在設計上應該避免)。通過depends-on指定其依賴關係可保證在此Bean載入之前,首先對depends-on所指定的資源進行載入。