@Resource注释不注入子类

时间:2010-03-04 15:58:54

标签: spring

服务的@Resource注释不是注入子类,除非我在子类中显式包含@Component注释。有没有办法请求子类与父@Resource“连线”而不需要在每个子类中进行注释?我发现这种方式的方法是创建一个子类并且不包含@Component注释。我很快就遇到了可怕的NPE。

1 个答案:

答案 0 :(得分:1)

@Component注释仅适用于声明它的类,而不适用于其子类(出于性能原因,我猜:否则需要遍历扫描的每个类的所有祖先)。

作为解决方法,您可以在assignable中为您的父类声明<context:component-scan>过滤器:

<context:component-scan base-package = "...">
    <context:include-filter type = "assignable" expression = "... your parent class ..." />
</context:component-scan>