您的位置:首页 > 编程语言 > Java开发

Java注解和反射

2015-09-25 00:00 519 查看
摘要: 注解 反射

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: