AspectJ предоставляет значение аннотации, используя аннотации AspectJ - PullRequest
1 голос
/ 05 ноября 2010

Я использую аннотации AspectJ вместо записи фактических файлов аспектов.Я хочу раскрыть ценность аннотации для моего совета.

В настоящее время у меня есть это, но оно не раскрывает значения внутри MyAnnotation

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

То, что я думал, было примерно так:

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

Это ясноимеет синтаксическую ошибку, но мне было интересно, если я был близок.Я не могу найти пример синтаксиса при использовании аннотаций AspectJ для этого.

1 Ответ

2 голосов
/ 30 ноября 2010

Вы используете тип, когда вы должны использовать идентификатор.Правильный код:

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