执行的方法或者类有自定义注解,但是通过clazz.getAnnotation取值为null
UnAuthRequest annotation = clazz.getAnnotation(UnAuthRequest.class);
原因是Spring AOP使用CGLIB生成的代理是不会加上父类的方法上的注解的
所以试着获取了一下super
UnAuthRequest annotation = clazz.getSuperclass().getAnnotation(UnAuthRequest.class);
果然拿到了自定义的注解,Annotation有一个工具类,可以比较方便的从类中拿到Annotation
这样用:
AnnotationUtils.findAnnotation(clazz, UnAuthRequest.class)
这个方法的源码先从类中获取,再从父类中获取
版权声明:本文为weixin_45874277原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。