0

@RequiredparentClass. ただし、基本クラスに注釈を付けない限り、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 に答える