`
yshlin
  • 浏览: 63452 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Java反射Bean

    博客分类:
  • java
 
阅读更多
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);

分享到:
评论

相关推荐

    通过Java反射机制获取JavaBean对象

    1.通过Java反射机制获取JavaBean对象。 2.通过JavaBean全路径字符串获取JavaBean对象。 3.获取JavaBean注解信息

    java Map转换成bean,利用java反射以及java和bean包

    这个过程通常涉及到Java反射机制和JavaBeans包中的工具类。下面我们将详细探讨如何实现这一转换,并解释相关的Java知识点。 首先,Java反射是Java语言的一个重要特性,它允许程序在运行时检查类、接口、字段和方法...

    java bean 反射,

    java通过反射,修改操作类......

    java反射以及复制一个bean的值到另一个bean中。

    Java反射 API 主要包含在 `java.lang.reflect` 包中,包括 `Class` 类、`Constructor` 类、`Method` 类和 `Field` 类等。 首先,让我们了解如何使用反射获取类的信息。假设我们有一个名为 `Person` 的类: ```java...

    通过java反射实现map与bean之间互转

    在给定的标题“通过java反射实现map与bean之间互转”中,我们要探讨的是如何利用Java反射机制将Map对象转换为Java Bean对象,以及反过来,将Java Bean对象转换为Map对象。这个过程在数据处理和序列化中非常常见。 ...

    Java 反射封装 JavaBean

    使用 Java 反射封装 JavaBean &lt;br&gt; 说明:这个程序在没有使用Hiberante时挺有用的 需要一个数据库查询语句 对应的JavaBean的全名(现在是Class,原来Class.getName()) 返回List包含多个JavaBean

    Java Bean 遍历和使用注解给Bean的属性添加属性值

    - **反射机制**:遍历Java Bean通常涉及使用Java的反射API。`java.lang.reflect`包中的`Class`、`Field`、`Method`类提供了访问和操作类、字段和方法的能力。 - **获取属性**:通过`Class.getDeclaredFields()`或`...

    最全面的java反射总结

    Java反射是Java编程语言中的一个强大工具,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。在Java中,反射机制的核心在于`java.lang.Class`类以及相关的类和接口,如`java.lang.reflect`包下...

    spring IOC反射装载bean

    在这个特定的"spring IOC反射装载bean"的主题中,我们将深入探讨Spring如何通过XML配置文件来加载和管理Bean,并利用Java的反射机制来实例化这些Bean。 首先,Spring容器通过读取XML配置文件来获取Bean的定义。这些...

    Java反射 JavaBean对象自动生成插入,更新,删除,查询sql语句操作.docx

    例如,在getBeanName方法中,使用了Java反射机制来获取JavaBean对象的类名,然后根据类名生成对应的表名。在getBeanPropertyList方法中,使用了Java反射机制来获取JavaBean对象的成员变量,然后根据这些成员变量生成...

    一种面向对象的Java Bean查询方法的实现

    2. **反射机制的应用**:利用Java反射API获取Java Bean的所有字段及其值,动态生成SQL语句。 3. **查询条件封装**:通过`ConditionHolder`类封装查询条件,便于传递和管理。 4. **查询结果的处理**:查询方法返回的...

    JAVA反射简单例子

    Java反射是Java编程语言中的一个强大特性,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。在Spring框架中,反射扮演着核心角色,特别是在依赖注入(DI)和面向切面编程(AOP)中。下面我们...

    Java反射机制Demo

    ### Java反射机制详解 #### 一、什么是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的反射机制是Java语言提供的一种强大的工具,它允许程序在运行时动态地获取类的信息并操作类的对象。反射机制的核心在于Java中的`java.lang.Class`类,它代表了类加载器加载后的类的元数据,包含了类的结构信息...

    dom4j 和java反射

    在实现Bean与XML的互转时,DOM4J和Java反射机制协同工作: 1. **XML到Bean**:首先,使用DOM4J解析XML文件,得到Element对象。然后,通过反射获取Bean的Class对象,并利用反射的newInstance()方法创建Bean实例。...

    java 反射机制详解

    Java 反射机制是 Java 语言中的一个重要特性,它允许程序在运行时动态地获取类的信息(如类名、属性、方法等)并调用对象的方法,甚至修改对象的状态。这一机制极大地增强了 Java 程序的灵活性和可扩展性,尤其是在...

Global site tag (gtag.js) - Google Analytics