0
私はいくつかの実装を持つマーカーインターフェイスを持っています。私の意図は、そのマーカーインターフェイスを実装するすべてのクラスで定義されているすべてのパブリックメソッドのアスペクトを追加することです。 次のように私は私の側面を定義した:AspectJ - 内句を内句から除外
@Around("within(x.y.z.MyInterface+) && execution(public * *(..))")
を問題は、例えば、そのインタフェースを実装するクラスの一つに、この方法を検討し、これはまた、内部クラスをキャッチすることです:
public void foo() {
doSomething(new Request() {
@Override
public void do() {
System.out.println("Hi");
}
});
}
何らかの理由で、 MyInterfaceから継承していないにもかかわらず、アスペクトも "do()"メソッドをキャッチします。
私のアスペクト定義はどのように修正する必要がありますか?
ありがとう:
JavaWorldは、その上に素敵な記事があります! Spring AOPを使用している場合は、「ターゲット」も使用できることがわかりました。ちょうどそれが後で気付きました。 – duduamar