spring配置文件中bean標簽


<bean

id="beanId"(1)

name="beanName"(2)

class="beanClass"(3)

parent="parentBean"(4)

abstract="true | false"(5)

singleton="true | false"(6)

lazy-init="true | false | default"(7)

autowire="no | byName | byType | constructor | autodetect | default"(8)

dependency-check = "none | objects | simple | all | default"(9)

depends-on="dependsOnBean"(10)

init-method="method"(11)

destroy-method="method"(12)

factory-method="method"(13)

factory-bean="bean">(14)

</bean>


(1)、id: Bean的唯一標識名。它必須是合法的XML ID,在整個XML文檔中唯一。

(2)、name: 用來為id創建一個或多個別名。它可以是任意的字母符合。多個別名之間用逗號或空格分開。

(3)、class: 用來定義類的全限定名(包名+類名)。只有子類Bean不用定義該屬性。

(4)、parent: 子類Bean定義它所引用它的父類Bean。這時前面的class屬性失效。子類Bean會繼承父類Bean的所有屬性,子類Bean也可以覆蓋父類Bean的屬性。注意:子類Bean和父類Bean是同一個Java類。

(5)、abstract(默認為”false”):用來定義Bean是否為抽象Bean。它表示這個Bean將不會被實例化,一般用於父類Bean,因為父類Bean主要是供子類Bean繼承使用。

(6)、singleton(默認為“true”):定義Bean是否是Singleton(單例)。如果設為“true”,則在BeanFactory作用范圍內,只維護此Bean的一個實例。如果設為“flase”,Bean將是Prototype(原型)狀態,BeanFactory將為每次Bean請求創建一個新的Bean實例。

(7)、lazy-init(默認為“default”):用來定義這個Bean是否實現懶初始化。如果為“true”,它將在BeanFactory啟動時初始化所有的Singleton Bean。反之,如果為“false”,它只在Bean請求時才開始創建Singleton Bean。

(8)、autowire(自動裝配,默認為“default”):它定義了Bean的自動裝載方式。

1、“no”:不使用自動裝配功能。

2、“byName”:通過Bean的屬性名實現自動裝配。

3、“byType”:通過Bean的類型實現自動裝配。

4、“constructor”:類似於byType,但它是用於構造函數的參數的自動組裝。

5、“autodetect”:通過Bean類的反省機制(introspection)決定是使用“constructor”還是使用“byType”。

(9)、dependency-check(依賴檢查,默認為“default”):它用來確保Bean組件通過JavaBean描述的所以依賴關系都得到滿足。在與自動裝配功能一起使用時,它特別有用。

1、 none:不進行依賴檢查。

2、 objects:只做對象間依賴的檢查。

3、 simple:只做原始類型和String類型依賴的檢查

4、 all:對所有類型的依賴進行檢查。它包括了前面的objects和simple。

(10)、depends-on(依賴對象):這個Bean在初始化時依賴的對象,這個對象會在這個Bean初始化之前創建。

(11)、init-method:用來定義Bean的初始化方法,它會在Bean組裝之后調用。它必須是一個無參數的方法。

(12)、destroy-method:用來定義Bean的銷毀方法,它在BeanFactory關閉時調用。同樣,它也必須是一個無參數的方法。它只能應用於singleton Bean。

(13)、factory-method:定義創建該Bean對象的工廠方法。它用於下面的“factory-bean”,表示這個Bean是通過工廠方法創建。此時,“class”屬性失效。

(14)、factory-bean:定義創建該Bean對象的工廠類。如果使用了“factory-bean”則“class”屬性失效。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM