package com.annotation.demo2;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface Table {
public String value();
}
package com.annotation.demo2;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Coloumn {
String value();
}
package com.annotation.demo2;
@Table("user")
public class Fb {
@Coloumn("id1")
public int id;
@Coloumn("name2")
public String name;
@Coloumn("age3")
public String age;
}
package com.annotation.demo2;
import java.lang.reflect.Field;
public class DemoTest {
public static void main(String[] args) {
Class c = Fb.class;//获得Class类的Fb对象
Table t=(Table)c.getAnnotation(Table.class);//获得类名级别注解类型
System.out.println(t.value()+"1");
Field[] ms = c.getFields();//获得字段类型级别注解类型
System.out.println(ms.length);
for(Field m:ms){
Coloumn cl=m.getAnnotation(Coloumn.class);
System.out.println(cl.value()+"2");
}
}
}
结果:
user1
3
id12
name22
age32