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反射机制和JavaBeans包中的工具类。下面我们将详细探讨如何实现这一转换,并解释相关的Java知识点。 首先,Java反射是Java语言的一个重要特性,它允许程序在运行时检查类、接口、字段和方法...
Java反射 API 主要包含在 `java.lang.reflect` 包中,包括 `Class` 类、`Constructor` 类、`Method` 类和 `Field` 类等。 首先,让我们了解如何使用反射获取类的信息。假设我们有一个名为 `Person` 的类: ```java...
java通过反射,修改操作类......
在给定的标题“通过java反射实现map与bean之间互转”中,我们要探讨的是如何利用Java反射机制将Map对象转换为Java Bean对象,以及反过来,将Java Bean对象转换为Map对象。这个过程在数据处理和序列化中非常常见。 ...
使用 Java 反射封装 JavaBean <br> 说明:这个程序在没有使用Hiberante时挺有用的 需要一个数据库查询语句 对应的JavaBean的全名(现在是Class,原来Class.getName()) 返回List包含多个JavaBean
- **反射机制**:遍历Java Bean通常涉及使用Java的反射API。`java.lang.reflect`包中的`Class`、`Field`、`Method`类提供了访问和操作类、字段和方法的能力。 - **获取属性**:通过`Class.getDeclaredFields()`或`...
Java反射是Java编程语言中的一个强大工具,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。在Java中,反射机制的核心在于`java.lang.Class`类以及相关的类和接口,如`java.lang.reflect`包下...
在这个特定的"spring IOC反射装载bean"的主题中,我们将深入探讨Spring如何通过XML配置文件来加载和管理Bean,并利用Java的反射机制来实例化这些Bean。 首先,Spring容器通过读取XML配置文件来获取Bean的定义。这些...
例如,在getBeanName方法中,使用了Java反射机制来获取JavaBean对象的类名,然后根据类名生成对应的表名。在getBeanPropertyList方法中,使用了Java反射机制来获取JavaBean对象的成员变量,然后根据这些成员变量生成...
2. **反射机制的应用**:利用Java反射API获取Java Bean的所有字段及其值,动态生成SQL语句。 3. **查询条件封装**:通过`ConditionHolder`类封装查询条件,便于传递和管理。 4. **查询结果的处理**:查询方法返回的...
Java反射是Java编程语言中的一个强大特性,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。在Spring框架中,反射扮演着核心角色,特别是在依赖注入(DI)和面向切面编程(AOP)中。下面我们...
### Java反射机制详解 #### 一、什么是Java反射机制? Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的...
Java反射机制是Java语言的一种强大的特性,它允许程序在运行时动态地获取类的信息并操作类的对象。在Java中,反射主要涉及到`java.lang.Class`类、`java.lang.reflect`包中的类(如Constructor、Method、Field)以及...
Java反射机制是Java编程语言中的一个强大特性,它允许程序在运行时检查并操作类、接口、字段和方法等对象。这种能力使得Java代码能够具备动态性,可以在不知道具体类名的情况下实例化对象,调用方法,访问字段,以及...
"Java 反射机制详解" Java 反射机制是 Java 语言中的一种强大功能,允许程序在运行时检查和修改自身的结构和行为。它主要用于动态的创建对象、调用方法和访问属性等。 ### Java 反射机制的定义 Java 反射机制是指...
Java的反射机制是Java语言提供的一种强大的工具,它允许程序在运行时动态地获取类的信息并操作类的对象。反射机制的核心在于Java中的`java.lang.Class`类,它代表了类加载器加载后的类的元数据,包含了类的结构信息...
在实现Bean与XML的互转时,DOM4J和Java反射机制协同工作: 1. **XML到Bean**:首先,使用DOM4J解析XML文件,得到Element对象。然后,通过反射获取Bean的Class对象,并利用反射的newInstance()方法创建Bean实例。...
Java 反射机制是 Java 语言中的一个重要特性,它允许程序在运行时动态地获取类的信息(如类名、属性、方法等)并调用对象的方法,甚至修改对象的状态。这一机制极大地增强了 Java 程序的灵活性和可扩展性,尤其是在...
Java反射和EJB(Enterprise JavaBeans)是Java开发中的两个重要概念,它们分别涉及程序运行时的动态性以及企业级应用的组件模型。 Java反射机制是Java语言提供的一种能力,允许程序在运行时检查和操作类、接口、...