注解类:
package xzd;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
public @interface FieldsAnnotation {
String header();
long width() default 100;
long hidden(); //1代表显示 0 代表隐藏
}
一个实体类(内有测试 通过json-lib拼装的数据)
package xzd;
import java.lang.reflect.Field;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class Dog {
@FieldsAnnotation(header="姓名",hidden=1)
public String name;
@FieldsAnnotation(header="地址",width=150,hidden=0)
public String loc;
@FieldsAnnotation(header="年龄",width=70,hidden=1)
public long age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getLoc() {
return loc;
}
public void setLoc(String loc) {
this.loc = loc;
}
public long getAge() {
return age;
}
public void setAge(long age) {
this.age = age;
}
public static void main(String[] args) {
JSONArray jsonArray = new JSONArray();
Field[] f = Dog.class.getDeclaredFields();
for(int i =0;i<f.length;i++){
if(f[i].isAnnotationPresent(FieldsAnnotation.class)){
FieldsAnnotation fa = f[i].getAnnotation(FieldsAnnotation.class);
JSONObject jsonObject= new JSONObject();
jsonObject.accumulate("header",fa.header());
jsonObject.accumulate("hidden",fa.hidden()==0?true:false);
jsonObject.accumulate("width",fa.width());
jsonArray.add(jsonObject);
}
}
System.out.println(jsonArray.toString());
}
}
打印结果:
[{"header":"姓名","hidden":false,"width":100},{"header":"地址","hidden":true,"width":150},{"header":"年龄","hidden":false,"width":70}]
另附注解学习文章 :http://yangjunfeng.iteye.com/blog/400085
分享到:
相关推荐
java注解和反射的个人学习笔记
使用注解和反射构建通过的数据库框架,从而可以熟悉注解,反射和泛型的使用,介绍参考:http://write.blog.csdn.net/postlist
简单demo,导入即可运行。
使用注解整合ext dwr spring hibernate
注解与反射,注解知识点,反射知识点,注解,java反射
java基础之注解和反射
一种基于Java注解和反射机制的Excel文件读写操作方法.pdf
注解和反射操作注解.pdf
利于学习注解和反射知识
反射注解暴力反射详细思维导图.xmind
通过反射获取注解的属性值 1、获取类上注解的值 1.1 定义注解类 1.2 定义使用注解的类 1.3 测试类 1.4 测试结果 2、获取属性变量上注解的值 2.1 定义注解类 2.2 定义使用注解的类 2.3 定义测试类 2.4 测试结果 3、...
Java-JDBC【之】实现ORM,结果集映射实体类(ResultSet、注解、反射) 1.ORM实现思路 2.@Table、@Column、标识实体类 2.1.创建注解 @Table、@Column 2.2.标识实体类 2.3.数据库表 3.结果集解析,注解加反射填充实体...
Java基础注解和反射入门思维导图 毕竟在SpringBoot以及之后使用的基本全是注解很少用配置文件 反射是必须要会的
仿Litepal 注解和反射实现的数据框架
注解和反射机制的学习笔记
自定义注解和通过反射获取注解
poi导出导入封装(使用注解建立实体与excel映射关系+反射设置实体属性值), poi导出导入封装(使用注解建立实体与excel映射关系+反射设置实体属性值) poi导出导入封装(使用注解建立实体与excel映射关系+反射设置...
关于反射和注解的的源码,包含12个demo案例,学自b站狂神。希望可以帮助到小狂神们,同时也给自己的笔记收藏纪念一下
介绍如何利用反射和注解去简单的模拟JUnit4单元测试的使用,之所以选择JUnit4是因为4.0以后最大的改进就是使用了注解。需要注意的是这里并不是完全的模拟,只是简单实现了一下Runner类和JUnit注解相关的工作流程。...
通过注解+反射实现自定义验证 工具,可扩展业务校验,一个字段可进行多种校验,如:字段A需要大于字段B并且字段B需要大于字段C并且.....XXX。附使用文档以及源码