反射获取类及类中的方法和方法的注解

springboot项目在启动时会加载类,这个时候我们自定义一个类,让他去实现BeanPostProcessor,重写postProcessBeforeInitialzation()方法,我们可以按照我们的需要获取我们需要的类对象。具体如下:

 

 

 

  • 获取类对象,暂记为 cll.

通过对象.getClass()方法返回对象的类对象。

  • 获取对象上面的注解

注解类 = cll.getAnnotation(注解.class);

  • 获取对象的方法
    • 获取类中所有的方法
      Method[] methods = cll.getDeclaredMethods();
  • 获取方法上面的注解
    • GetMapping getRequestMothed = (GetMapping) method.getAnnotation(GetMapping.class);
  • 根据传入的注解和属性,获取对应的属性值
    •  获取方法上的所有注解
      • nnotation[] annotations = method.getAnnotations();
    •  通过anno.annotationType().toString()获取注解的全类名
    • permissionValue = (String[]) anno.annotationType().getMethod(传入注解的属性).invoke(anno);
    • 例子如下:

 

posted @ 2021-08-17 15:09  小拾柒~  阅读(648)  评论(0)    收藏  举报