Spring的 Autowired注入規則

2021-07-04 23:59:04 字數 536 閱讀 4746

@autowired 預設是按照bytype進行注入的,但是當bytype方式找到了多個符合的bean,又是怎麼處理的?

經過一些**的測試,我發現,autowired預設先按bytype,如果發現找到多個bean,則,又按照byname方式比對,如果還有多個,則報出異常。

例子:

2. 如果存在且唯一,則ok;

@autowired也可以手動指定按照byname方式注入,使用@qualifier標籤,例如:

@autowired()@qualifier("basedao")

因為bean的name具有唯一性,理論上是byname會快一點,但spring預設使用bytype的方式注入,讓我很迷惑,確定不了哪乙個真的快。具體到實際應用,感覺差別不大,就看大家的習慣

另註:@resource(這個註解屬於j2ee的)的標籤,預設是按照byname方式注入的

spring中autowire的用法

autowire模式就是在spring的宣告檔案裡用作進行物件間的關聯關係自動繫結的,就是在spring beanfactory內的乙個bean對其bean的引用可以自動進行,而不一定用ref 的方式顯式宣告。在reference的3.3.6節有詳細的介紹,autowire主要有5種模式 1 no ...

spring中autowire的用法

autowire模式就是在spring的宣告檔案裡用作進行物件間的關聯關係自動繫結的,就是在spring beanfactory內的乙個bean對其bean的引用可以自動進行,而不一定用ref 的方式顯式宣告。在reference的3.3.6節有詳細的介紹,autowire主要有5種模式 1 no ...

spring中autowire的用法

autowire模式就是在spring的宣告檔案裡用作進行物件間的關聯關係自動繫結的,就是在spring beanfactory內的乙個bean對其bean的引用可以自動進行,而不一定用ref 的方式顯式宣告。在reference的3.3.6節有詳細的介紹,autowire主要有5種模式 1 no ...