Autowired注入原則

2021-07-11 19:22:15 字數 560 閱讀 9668

前提:了解@autowired的用處和用法:

@autowired預設是按照bytype進行注入的,但是當bytype方式找到了多個符合的bean,又是怎麼處理的?autowired預設先按bytype,如果發現找到多個bean,則又按照byname方式比對,如果還有多個,則報出異常。

例子:@autowired

private car redcar;

1. spring先找型別為car的bean

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

3. 如果不唯一,在結果集裡,尋找name為redcar的bean。因為bean的name有唯一性,所以,到這裡應該能確定是否存在滿足要求的bean了

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

@autowired()

@qualifier("basedao" )

因為bean的name具有唯一性,理論上是byname會快一點,但spring預設使用bytype的方式注入。另外補充一點:@resource(這個註解屬於j2ee的)的標籤,預設是按照byname方式注入的。

Autowired注入原則

前提 了解 autowired的用處和用法 autowired預設是按照bytype進行注入的,但是當bytype方式找到了多個符合的bean,又是怎麼處理的?autowired預設先按bytype,如果發現找到多個bean,則又按照byname方式比對,如果還有多個,則報出異常。例子 autowi...

Autowired自動注入資料

autowired預設是按型別自動注入,當同一型別有多個子類時,可以按名字注入,名字為子類名字的首字母小寫。public inte ce animal component data public class cat implements animal component data public cl...

Resource和 Autowired 注入解釋

resource和 autowired都是通過在介面類上加註解實現 實現類的注入 即 要使用 resource和 autowired實現注入某個實體物件,必須先新建乙個實體物件的介面類,然後再讓實體類實現該介面 例 component private class buscar 要實現注入buscar...