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

@Component
public class WeixinHandle extends DefaultWeixinHandle{
    @Resource
    private ScanQrcodeDispatcher scanQrcodeDispatcher;
    ....
    ....
}

 

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