篇首语:本文由编程笔记#小编为大家整理,主要介绍了Springboot使用@Autowired注入Mapper接口编译错误“Could not autowire. No beans of ‘UserMapper‘ type found.“相关的知识,希望对你有一定的参考价值。
异常
其实不能完全说是异常,因为存在也不会影响程序的正常运行。
原因
@Mapper 注解是 Mybatis 提供的,而 @Autowried 注解是 Spring 提供的,IDEA能理解 Spring 的上下文,但是不能理解Mybatis。
解决
第一种,关闭IDEA的错误提示,不推荐。
现在再查看,变成了橙色警告了
再次说明,不推荐,因为可能会错过一些关键的提示信息。
第二种,设置@Autowired注解的required属性,不推荐。
此时@Autowried 不会再去校验 Mapper 接口是否为空,但是每个注入都需要设置该属性,比较麻烦。
第三种,将@Autowired注解换成@Resource注解,推荐。
第四种,给Mapper接口添加@Component注解或@Repository注解,推荐。
或