Spring IoC/DI 06-XML 注入 Bean 的屬性

XML 注入 Bean 的屬性

注入方式:

  1. property注入==set方法注入,指定屬性名
  2. constructor-arg注入==構(gòu)造器注入,默認(rèn)按順序執(zhí)行,也可指定順序(index,從0開始)、屬性名(name)、類型(type)
  3. p命名空間注入==set方法注入,指定屬性名

注入時(shí)value和ref的區(qū)別

  1. 基本類型:使用value指定
  2. String:使用value指定
  3. 非String的引用類型:使用ref指定

注入類型

  1. list:property-list-value/ref/bean
  2. array:property-array-value/ref/bean
  3. set:property-set-value/ref/bean
  4. map:property-map-entry-(key-value)+value/ref/bean
  5. props:property-props-prop(key屬性)

value屬性和value標(biāo)簽的區(qū)別

value屬性 value標(biāo)簽
參數(shù)值位置 寫在 value 的屬性值中,必須加雙引號(hào) 寫在首尾標(biāo)簽(<value></value>)中間,不加雙引號(hào),否則雙引號(hào)也將作為屬性值的一部分
type 屬性 無(wú) 有,可通過 type 屬性指定數(shù)據(jù)類型(全稱)
參數(shù)值包含特殊字符 一種處理方法:使用 xml 預(yù)定義的實(shí)體引用 兩種處理方法:一、使用 <![CDATA[ ]]>標(biāo)記;二、使用 xml 預(yù)定義的實(shí)體引用
null值 value標(biāo)簽換成null標(biāo)簽
空字符串 value屬性(雙引號(hào))中為空 value標(biāo)簽中為空

常用 xml 預(yù)定義的實(shí)體引用如下:

實(shí)體引用 表示符號(hào)
< <
> >
& &

自動(dòng)裝配

自動(dòng)裝配適用于 ref 指定的屬性

啟用某個(gè) bean 標(biāo)簽的自動(dòng)裝配,需要顯式指定 autowire 屬性的值為 byName|byType|constructor

  1. byName:尋找IoC容器中是否存在 id 為該 bean 的屬性的名稱,存在則自動(dòng)裝配
  2. byType:尋找IoC容器中是否存在 class 為該 bean 的屬性的類型,存在則自動(dòng)裝配,只適用于包含一個(gè)該 class 的 bean
  3. constructor:尋找IoC容器中是否存在 class 為該 bean 的構(gòu)造方法參數(shù)的類型,存在則自動(dòng)裝配,只適用于包含一個(gè)該 class 的 bean(本質(zhì)上還是 byType)

啟用 IoC 容器中所有 bean 標(biāo)簽的自動(dòng)裝配,可在頭文件 beans 標(biāo)簽中顯式指定 default-autowire 屬性

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容