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文件,打開後,如下圖:
註:(1)找到bean標籤,一開始的設定只有前兩個,而我的解決方法就是在後面加入藍色框中的內容,即可解決上述問題。
(2)上面第3點的「註」中說過:我的錯誤不是因為註解路徑的原因引起的,而是因為設定檔中設定的自動掃描目錄是2級所引起的,而我要運行的程式碼是3級目錄,所以需要再加一級。
(3)綜合網路上大多數造成這種錯誤的原因,我覺得主要是在設定檔中(我的是applicationContext.xml)去進行修改,特別注意一下
基本上出現這種錯誤都是xml檔案映射路徑錯誤,檢查路徑是否正確
本文非原創,也是遇到問題百度得到,確實發現映射路徑錯誤,我也測試了其他路徑,都會報著這個錯
以上是出現No qualifying bean of typefound for :錯誤的詳細內容。更多資訊請關注PHP中文網其他相關文章!