JDK5以降のアノテーションを記述することができます。しかし、リフレクション(xand静的スコープ)だけがアノテーションを読むことができます!
アノテーションはxdocletタグの代わりに使用されていましたが、Javadocの一部であったため、「ドキュメントを書くことができますか?
書き込めるだけで読み込めないメモリについては、WOM(write-only-memory)というジョークがあります。
の場合、Reflectionを使用したくない場合は、サードパーティのライブラリでリフレクションでアノテーションを読むことができます。
あなたの注釈に注釈を付けることができます。
例:今、あなたはあなたが使用することができ、あなたが見
@MyOptional
private MyService service;
にコードを変更することができます
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
@Autowired(required=false)
public @interface MyOptional {
}
:
@Autowired(required=false)
private MyService service;
は、このようなカスタム注釈によって短縮することができますリフレクションコードなしのカスタム注釈。
質問は何を行うアノテーションですか? (あなたの質問はX/Yの問題かもしれません) –
@RC。あなたのご感謝ありがとうございます。私が春の注釈を使うとき、私はリフレクションを使う必要はありません。しかし、顧客の注釈を使用する場合、私はリフレクションを使用する必要があります。違いはなんですか? –
@blank_popup注釈はSpringの開発者によって作成されたものであるため、注釈を処理するコードも作成しています(リフレクションまたはバイトコード製織による)。例えば、 '@ Transactional'アノテーションは' org.springframework.transaction.interceptor.TransactionInterceptor'によって処理されます。 – Kayaman