import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.Map; /** * 反射类将Map转换为bean; * @author mywhile * * @param <T> */ @SuppressWarnings("unchecked") public class RequestUtil<T> { public static <T> T convertToBean(Map map, T obj) throws SecurityException, NoSuchMethodException, IllegalArgumentException, InstantiationException, IllegalAccessException, InvocationTargetException { Class<?> classType = obj.getClass(); Field[] fields = classType.getDeclaredFields();//得到对象中的字段 //每次循环时,重新实例化一个与传过来的对象类型一样的对象 T oCopy = (T) classType.getConstructor(new Class[] {}).newInstance(new Object[] {}); for(int i=0;i<fields.length;i++){ System.out.println(fields[i].getName()); Field field = fields[i]; String fName = fields[i].getName(); Object value = null; if (field.getType().equals(String.class)) { value = String.valueOf(map.get(fName)); if (value == null || value.equals("null")) { value = ""; } } /* if (field.getType().equals(int.class)) { value = String.valueOf(map.get(fName)); value = Integer.valueOf((value == null || value.equals("null")) ? "1" : "0"); } if (field.getType().equals(java.util.Date.class)) { value = Date.valueOf(String.valueOf(map.get(fName))); } */ // 获得属性的首字母并转换为大写,与setXXX对应 String firstLetter = fName.substring(0, 1).toUpperCase(); String setMethodName = "set" + firstLetter + fName.substring(1); Method setMethod = classType.getMethod(setMethodName, new Class[] { field.getType() }); setMethod.invoke(oCopy, new Object[] { value });// 调用对象的setXXX方法 } return oCopy; } }
Map ====> Bean
bean = RequestUtil.convertToBean(map, bean);
相关推荐
1.通过Java反射机制获取JavaBean对象。 2.通过JavaBean全路径字符串获取JavaBean对象。 3.获取JavaBean注解信息
java Map转换成bean,利用java反射以及java和bean包将map,Object>类型集合转换成需要的javaBean
java通过反射,修改操作类......
使用 Java 反射封装 JavaBean <br> 说明:这个程序在没有使用Hiberante时挺有用的 需要一个数据库查询语句 对应的JavaBean的全名(现在是Class,原来Class.getName()) 返回List包含多个JavaBean
java反射以及复制一个bean的值到另一个bean中。
最全面的java反射总结
dom4j java反射机制 实现bean与xml 的互转 方便很快
ava语言允许通过程序化的方式间接的对Class操作,Class文件...并分别通过Java实例对这些信息进行描述,Java允许用户通过这个Class相关的描述对象来间接调用类的功能。这就是为程序化方式操作Class文件提供了一个途径。
NULL 博文链接:https://xingguangsixian.iteye.com/blog/2041531
利用java的反射解析Properties文件转成对象 /** * 解析properties文件为对象 * @param * @param propPath * @param cls * @return * @throws InstantiationException * @throws ...
利用java反射达到两个不同bean字段名相同,类型不相同的字段相互赋值的转换函数
主要介绍了Java反射 JavaBean对象自动生成插入,更新,删除,查询sql语句操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
使用Annotation和反射实现Bean转SQL语句Demo
本篇文章通过学习Java反射中java.beans包,吧知识点做了总结,并把相关内容做了关联,对此有需要的朋友可以学习参考下。
反射是一个非常重要的知识点,在学习Spring 框架时,Bean的初始化用到了反射,在破坏单例模式时也用到了反射,在获取标注的注解时也会用到反射······ 当然了,反射在日常开发中,我们没碰到过多少,至少我没...
先说一下遇到的问题:通过使用GSON泛型进行报文转换的时候想要对部分关键字段加密,...解决过程:首先通过反射获取到bean下的对象名称。 对象名称获取到了之后需要获取对应的值 对值进行加密,然后再重新赋值到该对象
为了高效地将Json对象转化成Java bean对象,传统上我们是在运行是利用反射来实现
反射生成java Bean Mapper Mapper.xml
策略模式代码,两种方式实现,第一种,通过map存储方式,第二种,通过配置文件加反射方式
项目中需要过滤前面表单页面中传过来的实体类的中的String类型变量的前后空格过滤,由于前几天看过一个磨砺营的java反射讲解,非常受益。于是,哈哈哈 public static <T> void modelTrim(T model){ Class<T> ...