アスペクトを持つ特定のシグネチャを持つメソッド呼び出しをインターセプトしたいと思います。
私のポイントカットは次のようになります。
execution(public Result * (Input))"
しかしResult
、Input
ですabstract
。
Result
このポイントカットは、のサブタイプを返し、のサブタイプで機能するすべてのメソッドにも一致しInput
ますか?それが私の意図だからです。
ほぼ。タイプ名の直後にプラス記号を追加する必要があります。
execution(public Result+ * (Input+))
これはAspectJドキュメントからの例です。Springは制限付きバージョンのAspectJ構文を使用します。
pointcut callToUndefinedMethod():
call(* AbstractFacade+.*(..))
&& !call(* AbstractFacade.*(..));
そしてここに(簡潔な)ドキュメントがあります
SubtypePattern-SubtypePatternのすべてのタイプ、+付きのパターン。