当前位置: 首页 > 知识库问答 >
问题:

Spring AOP by annotation pointcut annotation not retrieve

壤驷德宇
2023-03-14

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

共有1个答案

葛嘉悦
2023-03-14

对于我来说,由于注释中的输入错误,类ContextService甚至无法编译:String[]description()(注意缺少的“p”)实际上应该是String[]description() ,然后编译,我还可以打印注释实例。

 类似资料:

相关问答

相关文章

相关阅读