私は、カスタム注釈で注釈が付けられたメソッドの周りにポイントカットを定義しようとしています。アノテーションには、ポイントカット定義にチェックを入れたいという1つのパラメータがあります。aspectj特定の注釈パラメータ値に一致するポイントカット
これは注釈です:
public @interface MyAnno {
String[] types;
}
注釈が適用されることができる方法の例:
public class MyClass {
@MyAnno(types={"type1", "type2"})
public void doSomething() {
// ...
}
@MyAnno(types={"type3"})
public void doSomethingElse() {
// ...
}
}
今、私はこれらの二つの方法を選択する2ポイントカット定義を持っていると思い、上のベース注釈の内容注釈自体にポイントカットを作成
は比較的簡単です。
@Pointcut("@annotation(myAnno)")
public void pointcutAnno(MyAnno myAnno) {
}
@Pointcut("execution(* *(..)) && pointcutAnno(myAnno)")
public void pointcut(MyAnno myAnno) {
}
これは@MyAnnoののすべての出現にマッチします。しかし、どのように私は2つのポイントカット、"type1"
と"type3"
アイデアをありがとうございました。それは私をたくさん助けます!配列のマッチングを行う方法がわからないことを期待していました。さて、ランタイムチェックが必要です。しかし、いかなる方法でも。どうもありがとうございました! –