java反射-操作注解
-
创建注解
-
创建测试类并添加注解
-
@Tablewang("db_student") class Student{ @Fieldwang(columnName = "db_id",type = "int",length = 10) private int id; @Fieldwang(columnName = "db_age",type = "int",length = 10) private int age; @Fieldwang(columnName = "db_name",type = "varcher",length = 10) private String name; public Student() { } public Student(int id, int age, String name) { this.id = id; this.age = age; this.name = name; } }
-
-
在public中的main函数中通过反射操作注解
-
获得Student类的Class
Class c1=Class.forName("注解和反射.Student");//括号内为代码路径
-
获得类注解中的value值
//获得类注解的value值 Tablewang tablewang = (Tablewang) c1.getAnnotation(Tablewang.class);//获得注解的方法,默认获得Annotation对象注意强制转换为对应的类注解类型 String value = tablewang.value(); System.out.println(value);
-
获得属性注解中的值
Field field = c1.getDeclaredField("name");//获得类中的属性 Fieldwang fieldwang = field.getAnnotation(Fieldwang.class);//通过属性获得对应的属性注解 System.out.println(fieldwang.columnName()); System.out.println(fieldwang.type()); System.out.println(fieldwang.length());
-