public class AnnotationKits extends Object
copy from vipshop VJTools(com.vip.vjtools.vjkit.reflect.AnnotationUtil) and made some changes.
| 构造器和说明 |
|---|
AnnotationKits() |
| 限定符和类型 | 方法和说明 |
|---|---|
static Set<Annotation> |
getAllAnnotations(Class<?> cls)
递归Class所有的Annotation,一个最彻底的实现.
|
static <T extends Annotation> |
getAnnotatedFields(Class<? extends Object> clazz,
Class<T> annotation)
找出所有标注了该annotation的属性,循环遍历父类,包含private属性.
|
static <T extends Annotation> |
getAnnotatedPublicFields(Class<? extends Object> clazz,
Class<T> annotation)
找出所有标注了该annotation的公共属性,循环遍历父类.
|
static <T extends Annotation> |
getAnnotatedPublicMethods(Class<?> clazz,
Class<T> annotation)
找出所有标注了该annotation的公共方法(含父类的公共函数),循环其接口.
|
public static Set<Annotation> getAllAnnotations(Class<?> cls)
包括所有基类,所有接口的Annotation,同时支持Spring风格的Annotation继承的父Annotation,
public static <T extends Annotation> Set<Field> getAnnotatedPublicFields(Class<? extends Object> clazz, Class<T> annotation)
暂未支持Spring风格Annotation继承Annotation
copy from org.unitils.util.AnnotationUtils
public static <T extends Annotation> Set<Field> getAnnotatedFields(Class<? extends Object> clazz, Class<T> annotation)
暂未支持Spring风格Annotation继承Annotation
copy from org.unitils.util.AnnotationUtils
public static <T extends Annotation> Set<Method> getAnnotatedPublicMethods(Class<?> clazz, Class<T> annotation)
暂未支持Spring风格Annotation继承Annotation
另,如果子类重载父类的公共函数,父类函数上的annotation不会继承,只有接口上的annotation会被继承.
Copyright © 2019. All rights reserved.