2017-04-14 6 views
1

基本的な質問は申し訳ありませんが、私の使用例の例は見つかりませんでした。スプリングブートのカスタム注釈..どこで使用されているかを確認

私は、SpringブートベースのJARアプリケーションの一部として提供されるカスタムのスプリングブート注釈を持っています。そのため、注釈を使用してパッケージスキャンもトリガーされます。 いくつかのオプションのパラメータで注釈を拡張するためのユースケースが用意されました。 私の注釈が書かれたクラスがわからない場合、どのように注釈パーサを書くのですか?

マイカスタムアノテーションは

@ComponentScan(basePackageClasses = {MySpringConfigClass.class}) 
@Retention(RetentionPolicy.RUNTIME) 
@Target(ElementType.TYPE) 
public @interface @MyCustomAnnotation { 
    boolean param1() default true; 
    boolean param2() default true; 
} 

消費アプリケーション、クラスレベルで、任意のクラスでこれを入れていないメソッドレベル/フィールドレベルですることができ、このようになります。

私は、この注釈がどこで使われているか、そしてどのような価値があるかを知る必要があります。 他のユースケースは値によって異なりますが、別のBeanセットを生成する必要があります。

私はさまざまなチュートリアルを読みましたが、私が見るすべての例はメソッドのために書かれており、クラス名もわかっています。

オプションをお勧めしますか? また、一般的に私は、注釈パーサとして機能し、アクティビティを行うことができるクラスを作成する必要があることを知っています。これらの注釈パーサを記述するためにSpringは何かを提供していますか?

ご回答いただきありがとうございます。

+0

[this](https://www.javacodegeeks.com/2012/11/java-annotations-tutorial-with-custom-annotation.html)の投稿が参考になるとします。 –

+0

こんにちはRajith、 リンクの例では、注釈が書き込まれるクラスを知っています。 具体的には、 'com.journaldev.annotations.AnnotationExample'このクラスは注釈パーサーにハードコードされています。私の場合、注釈がどこに書かれているのか分かりません。 クラス名を動的に派生させる方法を提案できますか。 – Avis

答えて

0

すべてのアノテーションを見つけて、Rajith Pemabanduコメントのようなロジックを使用するために、側面を使用します。

+0

こんにちは、Aspectを使ってアノテーションがどこで使われているかを調べることができます。私は前と後のようなメソッドの側面を見てきましたが、私のカスタムアノテーションに必要なケースがありました。 例を詳しく説明してください。 – Avis

+0

Spring AOP注釈PCDを使用します。ここでいくつかの例がありますhttp://www.baeldung.com/spring-aop-pointcut-tutorial – kadiii

関連する問題