欢迎来到天天文库
浏览记录
ID:19927625
大小:57.00 KB
页数:5页
时间:2018-10-07
《通过java反射机制获取javabean对象》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、通过Java反射机制获取JavaBean对象目的1.拼接SQL语句。2.生成FORM表单。3.获取JavaBean注解信息。...源代码packagecom.zc.util;importjava.lang.reflect.Field;importjava.lang.reflect.Method;importjava.util.ArrayList;importjava.util.Date;importjava.util.HashMap;importjava.util.LinkedHashMap;importjava.util.List;importjava.util.Map;impo
2、rtcom.zc.entity.base.Comment;/***通过Java反射机制获取JavaBean对象**@author张川(cr10210206@163.com)**/publicclassReflectBeanUtil{//不属于JavaBean自身的属性privatestaticfinalStringNOFIELDNAME="serialVersionUID";/***根据JavaBean获取属性名称和属性值**@paramobjJavaBean对象**/publicstaticMapgetFieldByObj(Objectobj){Ma
3、pparams=newHashMap();Field[]fields=obj.getClass().getDeclaredFields();for(Fieldfield:fields){Stringkey=field.getName();Objectvalue=getFieldValueByName(key,obj);if(!NOFIELDNAME.equals(key)&&isThisType(value)&&value!=null&&!"".equals(value)){params.put(key,value);}}
4、returnparams;}/***根据属性名称和JavaBean获取属性值**@paramfieldName属性名称*@paramobjJavaBean对象**/publicstaticObjectgetFieldValueByName(StringfieldName,Objectobj){try{StringfirstLetter=fieldName.substring(0,1).toUpperCase();Stringgetter="get"+firstLetter+fieldName.substring(1);Methodmethod=obj.getClass().getM
5、ethod(getter,newClass[]{});Objectvalue=method.invoke(obj,newObject[]{});returnvalue;}catch(Exceptione){returnnull;}}/***判断属性值是否是规定的类型**@paramvalue属性值**/publicstaticbooleanisThisType(Objectvalue){if(valueinstanceofString){returntrue;}elseif(valueinstanceofInteger){returntrue;}elseif(valueinstan
6、ceofDate){returntrue;}elseif(valueinstanceofBoolean){returntrue;}elseif(valueinstanceofDouble){returntrue;}elseif(valueinstanceofFloat){returntrue;}elseif(valueinstanceofByte){returntrue;}elseif(valueinstanceofShort){returntrue;}elseif(valueinstanceofLong){returntrue;}returnfalse;}/***根据JavaBe
7、an获取属性名称和注解属性值**例如:获取如下属性的中文说明*@Comment("名称")*privateStringname;**@paramobjJavaBean对象**/publicstaticLinkedHashMapgetFieldCommentByObj(Objectobj){LinkedHashMapparams=newLinkedHashMap();Field[]
此文档下载收益归作者所有