No qualifying bean of type XXX found for dependency XXX.

写项目时遇到如标题那样的错误提示: “No qualifying bean of type XXX found for dependency XXX“, JVM提示的意思是你的程序里说需要XXX的Bean(类), 但却没有找到它, 所以也就报错了.

网上搜索一番, 大概也是有几类说法的:

1.”@Service”注解写在了接口类(interface)上面, 把”@Service”注解写在该接口类的实现类(implements)上, 则不报错了[ref];

2.配置文件中要配置好”扫描类”[ref], 如下:

<bean
class="org.mybatis.spring.mapper.MapperScannerConfigurer">

3.其它类型的原因;

我的解决Solution是, 将以下代码中的@Resource替换成@Autowired, 则不报错:

@Service
public class UserServiceImpl implements UserService {

    @Resource    // 替换成"@Autowired";
    private AdminUserMapper adminUserMapper;

    // 其余代码...
}

JVM是不报错了, 可这实在是治标不治本, 要理解为什么会这么报错, 要去理解@Autowired@Resource的区别(可搜索看看), 以及看Spring框架的官方文档的说明(这才是第一手的资料);

    原文作者:tjipot
    原文地址: https://segmentfault.com/a/1190000011704227
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞