私はAspectJを使用して、選択したクラスの引数を持つすべてのパブリックメソッドにアドバイスしています。私は次のことを試しました:
pointcut permissionCheckMethods(Session sess) :
(execution(public * *(.., Session)) && args(*, sess));
これは、少なくとも 2 つの引数を持つメソッドに対して素晴らしく機能します。
public void delete(Object item, Session currentSession);
ただし、次のような方法では機能しません。
public List listAll(Session currentSession);
ポイントカットを変更して、両方のメソッドの実行をアドバイスするにはどうすればよいですか? 言い換えれば、「..」ワイルドカードは「0 個以上の引数」を表すと思っていましたが、代わりに「1 個以上」を意味するようです...