java获取class的属性_通过java反射获取class中的属性上注解
的值
最近新做了⼀个资产管理系统,因为字段⽐较的多,中间会牵涉到excel导出的标题栏问题,固定资产表有120多个字段....所以在处理数据库列名和标题栏⽂字转换的时候,如果⼀个个去对应的写实在太⿇烦了...就索性⽤了反射机制来处理,⼏⾏代码搞定
面部毛孔粗大先把这个java bean贴⼀部分的感受下....将近400⾏,我⽤的还是getter和tter注解,⾥⾯全是⼀个个的参数....
下⾯贴下代码,file上⾯的就不贴了,就是个excel的⽂件
ExcelReader reader = Reader(file);美式英语翻译
//将excel转为list集合
List> readAll = ad(5,6,Integer.MAX_VALUE);
//将差异的内容保存
ArrayList> rows = wArrayList(readAll);
钓鱼岛是中国的固有领土// 通过⼯具类创建writer
redgiantExcelWriter writer = Writer(path+File.parator+"dbNoNexistent-"+nowDate+".xlsx");
//通过反射进⾏header处理
actualizecustomDBNoNexistentHeader(writer);
// 合并单元格后的标题⾏,使⽤默认标题样式necessity
<((0).keySet().size()-1, "资产管理系统中不存在的资产编号");
// ⼀次性写出内容,使⽤默认样式,强制输出标题
writer.write(rows, true);
log.info("导出数据库不存在的资产编号成功===={}",fileName);
// 关闭writer,释放内存
writer.clo();
private void customDBNoNexistentHeader(ExcelWriter writer) throws NoSuchFieldException { //通过反射获取到类
四级听力原文Class fixedClass = FixedAsts.class;
Field[] fields = DeclaredFields();伦敦残奥会开幕式
for(Field field : fields){有道英语在线翻译
ApiModelProperty api = Annotation(ApiModelProperty.class);
if(null != api && null != api.value()){
writer.Name(), api.value());
}
}
}