在xml配置文件中,autowire有5種類型,可以在<bean/>元素中使用autowire屬性指定:
AutoWire Modes
模式
| ??????????????? 說(shuō)????????? 明 |
no | 不使用自動(dòng)裝配,必須通過(guò)ref元素指定依賴,默認(rèn)設(shè)置。 |
byName | 根據(jù)屬性名自動(dòng)裝配。此選項(xiàng)將檢查容器并根據(jù)名字查找 與屬性完全一致的bean,并將其與屬性自動(dòng)裝配。 |
byType | 如果容器中存在一個(gè)與指定屬性類型相同的bean,那么將與 該屬性自動(dòng)裝配;如果存在多個(gè)該類型bean,那么拋出異常, 并指出不能使用byType方式進(jìn)行自動(dòng)裝配;如果沒(méi)有找 到相匹配的bean,則什么事都不發(fā)生,也可以通過(guò)設(shè)置 dependency-check="objects"讓Spring拋出異常。 |
constructor | 與byType方式類似,不同之處在于它應(yīng)用于構(gòu)造器參數(shù)。 如果容器中沒(méi)有找到與構(gòu)造器參數(shù)類型一致的bean, 那么拋出異常。 |
autodetect | 通過(guò)bean類的自省機(jī)制(introspection)來(lái)決定是 使用constructor還是byType方式進(jìn)行自動(dòng)裝配。 如果發(fā)現(xiàn)默認(rèn)的構(gòu)造器,那么將使用byType方式。 |
可以設(shè)置bean使自動(dòng)裝配失效:
采用xml格式配置bean時(shí),將<bean/>元素的autowire-candidate屬性設(shè)置為false,這樣容器在查找自動(dòng)裝配對(duì)象時(shí),將不考慮該bean,即它不會(huì)被考慮作為其它bean自動(dòng)裝配的候選者,但是該bean本身還是可以使用自動(dòng)裝配來(lái)注入其它bean的。
posted on 2006-10-18 15:15
想飛的魚 閱讀(941)
評(píng)論(0) 編輯 收藏 所屬分類:
framework