今天在用Spring Boot做项目时遇到了idea报“Could not autowire. No beans of ‘UserMapper’ type found. ”的错误,记录以下解决过程。
我的dao注解使用的是@Mapper
在使用@Autowrited注解时,报红提示我“Could not autowire. No beans of ‘UserMapper’ type found.”错误,但可以运行,结果也正确。
小白不明所以,于是上网查询解决方法。
1、将@Autowrited改为@Autowrited(required = false)。原因是spring auto scan配置找不到对应的bean,于是提示找不到对应bean的错误。
2、将@Mapper注解改为@Repository
不用改@Autowrited也不报错了
3、修改idea配置的方法
可参考https://blog.csdn.net/Hellowenpan/article/details/85249679
@Mapper和@Repository的区别
@Repository需要在Spring中配置扫描地址,然后生成Dao层的Bean才能被注入到Service层中。
@Mapper不需要配置扫描地址,通过xml里面的namespace里面的接口地址,生成了Bean后注入到Service层中。
详细可参考博文:cnblogs.com/yanghj/p/11580830.html