//简单的列举反射取注解/注解Value 常用方法
//通过 class路径、分类(类、方法、字段)
//packageFile:类全路径
public static void test(String packageFile) {
try {
Class c = Class.forName(packageFile);//取到指定的Class类
c.getMethods();//取到该Class类的全部方法
c.isAnnotationPresent(Description.class);//查看该类上是符包含指定注解
Method[] methods = c.getMethods();
for (Method method : methods) {
Boolean b = method.isAnnotationPresent(Description.class);//查看该方法上是符包含指定注解
Annotation[] annotations = method.getAnnotations();//获取该类上的全部注解
for(Annotation annotation:annotations){
Annotation annotation1 = (Description)annotation;
((Description) annotation1).value();//查看注解的Value值
}
}
Field[] fields = c.getFields();
for (Field field : fields) {
//与方法中代码一致
}
} catch (Exception e) {
System.out.println(e.getMessage());
throw new RuntimeException(e);
}
}