1、問題:啟動Tomcat時報錯! 主要錯誤代碼如下 1 1 在這段代碼之前還有錯誤代碼: 1 1 2、出現錯誤的環境:spring MVC + MyBatis框架下,涉及有control層、service層、dao層。 3、問題分析:一開始以為是由於control層使用@Resource出現的異常 ...
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文件映射路徑錯誤,檢查路徑是否正確
本文非原創,也是遇到問題百度得到,確實發現映射路徑錯誤,我也測試了其他路徑,都會報著這個錯