注解和反射14.获取注解信息

简介: 注解和反射14.获取注解信息
public class Test {
    public static void main(String[] args) throws ClassNotFoundException, NoSuchFieldException {
        Class c1 = Class.forName("lesson02.Test");
        //ton过反射获得注解
        Annotation[] annotations = c1.getAnnotations();
        for (Annotation annotation : annotations) {
            System.out.println(annotation);
        }
        //获得value值
        Tablezang tablezang = (Tablezang) c1.getAnnotation(Tablezang.class);
        String value=tablezang.value();
        System.out.println(value);
        Field name = c1.getDeclaredField("name");
        Fieldzang annotation = name.getAnnotation(Fieldzang.class);
    }
}
@Tablezang("db-students")
class Student{
    @Fieldzang(lm="db-id",lx="int",length = 10)
    private int id;
    @Fieldzang(lm="db-age",lx="int",length = 10)
    private int age;
    @Fieldzang(lm="db-name",lx="varchar",length = 10)
    private String name;
    public Student(int id, int age, String name) {
        this.id = id;
        this.age = age;
        this.name = name;
    }
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Student() {
    }
    @Override
    public String toString() {
        return "Student{" +
                "id=" + id +
                ", age=" + age +
                ", name='" + name + '\'' +
                '}';
    }
}
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@interface Tablezang{
    String value();
}
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@interface  Fieldzang{
    String lm();
    String lx();
    int length();
}
相关文章
|
8月前
66.【注解与反射】(四)
66.【注解与反射】
21 0
|
8月前
66.【注解与反射】(二)
66.【注解与反射】
28 0
|
9月前
怎么看注解对应的处理类?
怎么看注解对应的处理类?
42 0
|
8月前
66.【注解与反射】(一)
66.【注解与反射】
24 0
|
8月前
|
Java
66.【注解与反射】(三)
66.【注解与反射】
24 0
|
Oracle Java 关系型数据库
反射与自定义注解
反射与自定义注解
反射与自定义注解
|
程序员
注解和反射2.内置注解
注解和反射2.内置注解
|
编译器
注解与反射.1什么是注解?
注解与反射.1什么是注解?