Spring 參數意義


1.id

bean的唯一標識,

2.class

類的完全限定名,

3.parent

父類bean定義的名字。

     如果沒有任何聲明,會使用父bean,但是也可以重寫父類。重寫父類時,子bean 必須與父bean 兼容,也就是說,

接受父類的屬性值和構造器聲明的值。

     子bean會繼承父bean的構造器聲明的值,屬性值,並且重寫父bean的方法。如果init方法,destroy方法已聲明,

他們會覆蓋父bean相應的設置。

  保留的設置會直接從子bean獲取,包括depends on,autowire mode,scope,lazy init.

4.abstract

聲明bean是否是抽象的,決定該類是否會實例化。默認是false。

注意:abstract屬性不會被子bean繼承,所以,abstract為true時需要對每個bean顯示聲明。

5.lazy-init

決定是否延遲實例化,如果為false,則啟動時會立即實例化單例模式的bean.默認是false。

注意:lazy-init屬性不會被子bean繼承。

6.autowire

決定是否自動裝配bean的屬性。

autowire有4中模式:

  • "no"

    Spring默認的模式。bean的引用必須在XML文件中通過<ref/>元素或ref屬性顯示定義。

    spring推薦使用的模式,這樣可以使文檔更清晰明確。

  • "byName"

    通過屬性名使用自動裝配。如果一個Cat類擁有一個dog屬性,那么Spring會根據名字dog

    去尋找bean,如果沒有找到bean,則不會自動裝配。

  • "byType"

    如果Spring容器只有該屬性類型的一個bean,會自動裝配。當有多個該屬性類型的bean時

    會報錯。如果沒有,則不會自動裝配。

  • "constructor"

    針對構造器引用,和byType類似。

注意:autowire屬性不會被子bean繼承。

7.depends-on

該bean初始化時依賴的其他bean的名字,bean工廠確保其他bean在該bean之前完成初始化。

注意:依賴項一般通過bean屬性或構造器聲明,這個屬性對其他依賴(如靜態類或啟動階段數據庫的准備)是必要的。

注意:depends-on屬性不會被子bean繼承。

8.scope

scope屬性值有四種: singleton,prototype,request,session

singleton:單例模式,默認選項

prototype:非單例模式

request:對於web應用,每一個請求產生一個新的實例

session:對於web應用,一個session產生一個實例

 

本人水平有限,如果有誤,還請指正。

 

還有幾個選項,需要請自行查看文檔。

9.autowire-candidate

10.primary

11.init-method

12.destroy-method

13.factory-method

14.factory-bean

 


免責聲明!

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



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