Spring AOP by注解切入点注解未检索

slmsl1lt  于 2023-03-16  发布在  Spring
关注(0)|答案(1)|浏览(149)

我正在使用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:已编辑

v8wbuo2f

v8wbuo2f1#

对于我来说,ContextService类甚至因为注解中的一个拼写错误而无法编译:String[] descrition();(注意缺少的“p”)实际上应该是String[] description();,然后编译它,我还可以打印注解示例。

相关问题