前言,spring是一個非常優秀的框架,在依賴IOC編程方面,手工方式提供了兩種方式注入Bean,XML配置和使用注解+自動掃描package的方式
1.@Resource應用在字段上,則注入規則是:
a.先使用字段名字匹配bean,查找到bean則注入,如果類型不匹配則此時有異常,注入失敗
b.如果字段名字沒有匹配到Bean則spring會嘗試采用字段類型匹配,如果找打bean則注入,如果字段類型是接口則有可能會匹配到多個類型,則會拋出匹配到多個bean的異常.
注入失敗.
2.@Resource應用在setter上(應用到屬性),則注入規則是:
a.先使用屬性名字匹配bean,查找到bean則注入,如果類型不匹配則此時有異常,注入失敗
b.如果屬性名字沒有匹配到Bean則spring會嘗試采用
屬性參數類型匹配,如果找打bean則注入,如果屬性參數類型是接口則有可能會匹配到多個類型,則會拋出匹配到多個
bean的異常.注入失敗.
注意是屬性的參數類型,並不是屬性的類型,注意
區別
3.小結
a.名稱------>b.類型或參數類型(屬性時).