私はすべてのメソッドと特定の注釈のすべてのクラスに対してポイントカットを定義しました。私がしたいのは、すべてのメソッド呼び出しで注釈値を取得することです。ここでは、これまで私が持っているものであるアドバイスメソッドにポイントカットバインドアノテーションをどのように提供しますか?
@Aspect
public class MyAspect {
@Pointcut("execution(* my.stuff..*(..))")
private void allMethods(){}
@Pointcut("within(@my.stuff.MyAnnotation*)")
private void myAnnotations(){}
@Pointcut("allMethods() && myAnnotations()")
private void myAnnotatedClassMethods(){}
@Before("myAnnotatedClassMethods()")
private void beforeMyAnnotatedClassMethods(){
System.out.println("my annotated class method detected.");
// I'd like to be able to access my class level annotation's value here.
}
}