原因和解決辦法
1.原因
idea具有檢測功能,接口不能直接創(chuàng)建bean的,需要用動(dòng)態(tài)代理技術(shù)來解決。
2.解決辦法
1.修改idea的配置
1.點(diǎn)擊file,選擇setting
2.搜索inspections,找到Spring
3.找到Spring子目錄下的Springcore
4.在Springcore的子目錄下找到code
5.把seyerity選項(xiàng)改成警告
2.修改代碼
1,@Autowrited改為@Autowrited(required = false)
2,在@Mapper上面加上@Reoository
3,使用@MapperScan和@Reoository
3.擴(kuò)展
1.@Repository 與 @Mapper區(qū)別
1.數(shù)據(jù)接口層 @Repository 與 @Mapper都是作用于數(shù)據(jù)接口層,用于數(shù)據(jù)訪問
2.分屬不同的框架 org.springframework.stereotype.Repositor和org.apache.ibatis.annotations.Mapper,從類的包路徑就可以看出來,@Mapper是 Mybatis 的注解,和 Spring 沒有關(guān)系,@Repository 是 Spring 的注解,用于聲明一個(gè) Bean。
3.動(dòng)態(tài)加載方式不同 使用 Mybatis 有 XML 文件或者注解的兩種使用方式,原理是一樣的,Mybatis 需要找到對應(yīng)的mapper,在編譯的時(shí)候動(dòng)態(tài)生成代理類,實(shí)現(xiàn)數(shù)據(jù)庫查詢功能,所以只要在數(shù)據(jù)接口類上加上@Mapper就能被動(dòng)態(tài)加載。
然后,@Repository只是為了標(biāo)識,注解本身是沒有作用的,需要和@MapperScan注解配合使用文章來源:http://www.zghlxwxcb.cn/news/detail-743691.html
注意:@Repository不可以單獨(dú)使用,否則會報(bào)錯(cuò)誤,要想用,必須配置掃描地址(@MapperScannerConfigurer)文章來源地址http://www.zghlxwxcb.cn/news/detail-743691.html
到了這里,關(guān)于idea報(bào)“Could not autowire. No beans of ‘UserMapper‘ type found. ”錯(cuò)解決辦法的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!