首頁  >  文章  >  Java  >  出現No qualifying bean of typefound for :錯誤

出現No qualifying bean of typefound for :錯誤

巴扎黑
巴扎黑原創
2017-06-26 11:30:457221瀏覽

1、問題:啟動Tomcat時報錯!
主要錯誤代碼如下

No qualifying bean of type [com.*.*.*.*.*.dao.InfoDao] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@javax.annotation.Resource(shareable=true, mappedName=, description=, name=, type=class java.lang.Object, authenticationType=CONTAINER)}
  • 1

  • #1

在這段程式碼之前還有錯誤程式碼:

WARN  o.s.w.c.s.XmlWebApplicationContext - Exception encountered during context initialization - cancelling refresh attempt
  • 1

  • 1

#2、出現錯誤的環境:spring MVC + MyBatis框架下,涉及有control層、service層、dao層。
3、問題分析:一開始以為是由於control層使用@Resource出現的異常,但是經過逐層排查,錯誤的根源是在service層中的註解處引發的,從網上查找相關資料說是:找不到dao類 
註:我的註解路徑都沒問題,但還是出現錯誤。
4、我的錯誤原因:在工程目錄下建立了多層目錄,而對applicationContext.xml檔案的

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
  • 1

  • 1

標籤中沒有進行「新增「多層級的設定(原來的該設定檔中只有兩級目錄,需要再加入一級) 
5、問題解決方法:在工程中有個applicationContext.xml文件,打開後,如下圖: 
出現No qualifying bean of typefound for :錯誤 
註:(1)找到bean標籤,一開始的設定只有前兩個,而我的解決方法就是在後面加入藍色框中的內容,即可解決上述問題。
(2)上面第3點的「註」中說過:我的錯誤不是因為註解路徑的原因引起的,而是因為設定檔中設定的自動掃描目錄是2級所引起的,而我要運行的程式碼是3級目錄,所以需要再加一級。
(3)綜合網路上大多數造成這種錯誤的原因,我覺得主要是在設定檔中(我的是applicationContext.xml)去進行修改,特別注意一下 

基本上出現這種錯誤都是xml檔案映射路徑錯誤,檢查路徑是否正確

本文非原創,也是遇到問題百度得到,確實發現映射路徑錯誤,我也測試了其他路徑,都會報著這個錯

以上是出現No qualifying bean of typefound for :錯誤的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn