今天遇到一个奇怪的问题,就是通过@resource 注入通过@Component注解标注的类时,未能成功注入,后来同事说引用@resource注解的类页需要@Component注解注入,也就是说两个雷必须都要交给spring管理才能完成注入 例如。
@Component
public class SubscribeDispatcher {
....
....
}
@Component
public class WeixinHandle extends DefaultWeixinHandle{
@Resource
private ScanQrcodeDispatcher scanQrcodeDispatcher;
....
....
}
我就是红色部分那个注解没写。
但是最奇怪的还在后面,我把引用@resource 的类加上@Component注解还是不能注入。上网找了好半天,也没找到解决办法。最后发现WeixinHandle这个类我是继承了抽象类所以不能实例化。于是我在一个不继承抽象类的类上测试一下果真能注入。所以当一个类继承了抽象类的时候就不能引用@Resource进行注入。