亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

當spring 注解出現以下報錯No unique bean of type ?我該怎么解決呢?

當spring 注解出現以下報錯No unique bean of type ?我該怎么解決呢?

小唯快跑啊 2021-06-16 15:11:51
這是錯誤信息No unique bean of type [com.home.web.AbsCrudDaoImpl] is defined: expected single matching bean but found 3: [agoodsCategoryDao, agoodsInfoDao, generateDao]我是寫了一個公共的dao類,然后繼承這個類,下面是3個公共類的一些代碼:
查看完整描述

2 回答

?
哈士奇WWW

TA貢獻1799條經驗 獲得超6個贊

答:你應該在類上面加上@Compnnent這個注解,注入到bean里面;或者注意 class的路徑不要寫錯即可不出錯。

一、注解策略:

(1)類級別的注解:如@Component、@Repository、@Controller、@Service以及JavaEE6的@ManagedBean和@Named注解,都是添加在類上面的類級別注解。Spring容器根據注解的過濾規則掃描讀取注解Bean定義類,并將其注冊到Spring IoC容器中。 

(2)類內部的注解:如@Autowire、@Value、@Resource以及EJB和WebService相關的注解等,都是添加在類內部的字段或者方法上的類內部注解。SpringIoC容器通過Bean后置注解處理器解析Bean內部的注解。 Spring實現@Autowire解析和注入的核心的類是通過。

二、AutowiredAnnotationBeanPostProcessor來實現的。我們可以通過其方法列表看出,其中對字段的注入,對屬性的注入,還有選擇相應的構造方法來注入。

1:從構造方法的緩存中查詢其構造方法。

2:若緩存中不存在,則根據反射獲取所有構造方法。

3:遍歷所有構造方法,查詢器是否含有@Autowired屬性。

4:判斷Autowired注解中指定了required屬性 (required屬性就是判斷是否強依依賴)若存在required就使用默認構造方法。

5:返回指定的構造方法 注入的時候則是通過inject方法來實現。


查看完整回答
反對 回復 2021-06-21
  • 2 回答
  • 0 關注
  • 623 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號