0

我有一种情况,我想将 setter 方法注释为@Required仅在我的parentClass. 但是,除非我注释基类 Spring 不会将该方法标识为配置中的必需方法(也就是说,如果该字段不存在,我不会得到“缺少必需的属性:foo”。下面是我尝试使用的代码:

public abstract class parentClass {
  public abstract void setFoo(Object foo);
}

public abstract class childClass extends parentClass {
  @Override
  @Required 
  public void setFoo(Object foo) {
    //setter code
  }
}

我在这里做错了什么?是否可以仅为某些子类指定注释?

4

1 回答 1

2

类以外的项目上的注释不会被继承。请参阅@Inherited Javadoc

请注意,如果注释类型用于注释类以外的任何内容,则此元注释类型无效。另请注意,此元注释仅导致注释从超类继承;已实现接口上的注释无效。

我不确定 JSR 305 处理器如何管理这个技巧。

于 2013-04-02T17:51:42.553 回答