AspectJ使用AspectJ注释公开注释值

时间:2010-11-05 15:26:10

标签: aop aspectj

我正在使用AspectJ注释而不是编写实际的方面文件。我想在我的建议中公开注释值。

我目前有这个,但它没有公开MyAnnotation

中的值
@Before("execution(@MyAnnotation * * (..))")
public void intercept(JoinPoint jp) {
 ...
}

我的想法是这样的:

@Before("execution(@MyAnnotation * * (..)) && @this(MyAnnotation)")
public void intercept(JoinPoint jp, MyAnnotation myAnnotation) {
 ...
}

这显然有语法错误,但想知道我是否接近。在使用AspectJ注释时,我似乎无法找到示例语法。

1 个答案:

答案 0 :(得分:2)

当您使用标识符时,您正在使用类型。正确的代码是:

@Before("execution(@MyAnnotation * * (..)) && @this(myAnnotation)")
public void intercept(JoinPoint jp, MyAnnotation myAnnotation) {
 ...
}