我使用Spring AOP通过@MyAnnotation拦截注释的方法。拦截正常。但是,不幸的是,我还没有得到我的注释实例。
我的注释:
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface MyAnnotation {
String[] description();
}
我的配置方面
@Aspect
public class OAuthAspect {
@Pointcut(value = "execution(public * *(..))")
public void anyPublicMethod() {
}
@Pointcut(value = "@annotation(annotation)", argNames = "annotation")
public void anyAnnotationMethod(MyAnnotation annotation) {
}
@Around(value = "anyPublicMethod() && anyAnnotationMethod(annotation)")
public Object authorization(ProceedingJoinPoint pjp, MyAnnotation annotation) throws Throwable {
//annotation is null
}
}
切入点示例:
@Service
public class ContextService {
@MyAnnotation(description = {"de1", "des2"})
public String getAll() {
}
}
我不明白为什么我无法检索注释的实例。
如果有人有主意?
pc:已编辑
对于我来说,由于注释中的输入错误,类ContextService甚至无法编译:String[]description()
(注意缺少的“p”)实际上应该是String[]description()
,然后编译,我还可以打印注释实例。