今天遇到一个奇怪的问题,就是通过@resource 注入通过@Component注解标注的类时,未能成功注入,后来同事说引用@resource注解的类页需要@Component注解注入,也就是说两个雷必须都要交给spring管理才能完成注入 例如。

@Component

public class SubscribeDispatcher {

    ....

    ....

}


@Component

public class WeixinHandle extends DefaultWeixinHandle{

    @Resource

    private ScanQrcodeDispatcher scanQrcodeDispatcher;

    ....

    ....

}

我就是红色部分那个注解没写。

    但是最奇怪的还在后面,我把引用@resource 的类加上@Component注解还是不能注入。上网找了好半天,也没找到解决办法。最后发现WeixinHandle这个类我是继承了抽象类所以不能实例化。于是我在一个不继承抽象类的类上测试一下果真能注入。所以当一个类继承了抽象类的时候就不能引用@Resource进行注入。