`
不眠之风
  • 浏览: 1436 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

BeanUtil

    博客分类:
  • Java
 
阅读更多

package beanutil;

 

import java.beans.BeanInfo;

import java.beans.Introspector;

import java.beans.PropertyDescriptor;

import java.lang.reflect.Method;

import java.util.HashMap;

import java.util.Map;

 

/**

 * 描述:bean工具类

 * @author duxing

 * @version 0.1

 */

public class BeanUtil {

    /**

     * 描述:将一个map对象转化为bean

     * @param map

     * @param clss

     * @return object

     */

    @SuppressWarnings({ "unchecked", "rawtypes" })

    public static <K, V> Object transMapToBean(Map<K, V> map, Class clss) {

        Object object = null;

        try {

            object = clss.newInstance();

            for (Map.Entry<K, V> entry : map.entrySet()) {

                Method methodType = clss.getMethod("get" + entry.getKey());

                Method method = clss.getMethod("set" + entry.getKey(),

                    methodType.getReturnType());

                method.invoke(object, entry.getValue());

            }

 

        } catch (Exception e) {

            e.printStackTrace();

        }

        return object;

 

    }

 

    /**

     * 描述:将一个map对象转化为bean

     * @param params

     * @param clss

     */

    public static <K, V> void transMapToBean(Map<K, V> map, Object obj) {

 

        try {

            BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass());

            PropertyDescriptor[] propertyDescriptors = beanInfo

                    .getPropertyDescriptors();

            for (PropertyDescriptor property : propertyDescriptors) {

                String key = property.getName();

                if (map.containsKey(key)) {

                    Object value = map.get(key);

                    // 得到property对应的setter方法

                    Method setter = property.getWriteMethod();

                    setter.invoke(obj, value);

                }

            }

        } catch (Exception e) {

            e.printStackTrace();

        }

    }

 

    /**

     * 描述:利用Introspector和PropertyDescriptor 将Bean --> Map

     * @param params

     * @param clss

     * @return map

     */

    public static Map<String, Object> transBeanToMap(Object obj) {

 

        if (obj == null) {

            return null;

        }

        Map<String, Object> map = new HashMap<String, Object>();

        try {

            BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass());

            PropertyDescriptor[] propertyDescriptors = beanInfo

                    .getPropertyDescriptors();

            for (PropertyDescriptor property : propertyDescriptors) {

                String key = property.getName();

                // 过滤class属性

                if (!key.equals("class")) {

                    // 得到property对应的getter方法

                    Method getter = property.getReadMethod();

                    Object value = getter.invoke(obj);

                    map.put(key, value);

                }

            }

        } catch (Exception e) {

            e.printStackTrace();

        }

        return map;

    }

}

 

分享到:
评论

相关推荐

    BeanUtil框架完整包

    BeanUtil框架是一个在Java开发中常用的工具库,主要用于对象属性的获取、设置、拷贝以及类型转换等操作。它的设计目标是简化Java Bean的操作,提高代码的可读性和可维护性。这个“BeanUtil框架完整包”包含了...

    beanutil数据库操作工具

    BeanUtil是一个常用的Java工具库,主要用于对象与数据库之间的数据转换,简化了数据库操作中的数据绑定过程。这个工具库使得开发者可以更加便捷地处理Java Bean和SQL查询结果之间的映射,提高了开发效率。在Java开发...

    BeanUtil_Jar包

    《BeanUtil_Jar包:JavaBean操作神器》 在Java编程世界中,BeanUtils库扮演着重要的角色,它为开发者提供了便捷的操作JavaBean的工具类。这个“BeanUtil_Jar包”正是这样一个实用的工具集,它包含了丰富的功能,...

    BEANutil工具类,可获取生日

    BEANutil工具类,可获取生日,简单的几行代码,给需要的你。BEANutil工具类,可获取生日,简单的几行代码,给需要的你。

    BeanUtil Jar包

    《BeanUtil:Apache提供的高效Java反射工具包》 在Java编程中,BeanUtil是一个非常重要的工具包,尤其在处理对象的属性操作时,它扮演着不可或缺的角色。BeanUtil源自著名的开源组织Apache,是其 Commons BeanUtils...

    BeanUtil属性拷贝工具类

    BeanUtil属性拷贝工具类,支持基本的javabean属性拷贝,通过java反射和泛型编程实现了list属性拷贝

    BeanUtil工具类

    BeanUtil 主要用于实体Bean和Map之间的互转,使用方便,是一个不可多得的工具类哦

    BeanUtil1.8 SRC 源码和 jar包

    《BeanUtil1.8源码与jar包解析》 BeanUtil是Apache Commons项目中的一个工具类库,主要用于处理Java Bean的操作,提供了一系列便捷的方法来简化Java Bean的属性操作。在这个"BeanUtil1.8 SRC 源码和 jar包"中,包含...

    BeanUtil.java

    BeanUtil.java

    Servlet中对获取网页表单数据自动给JavaBean赋值的BeanUtil工具类

    本文将深入探讨BeanUtil工具类的工作原理以及如何在Servlet中使用它。 首先,让我们理解一下JavaBean的概念。JavaBean是一种遵循特定规范的Java类,主要用于封装数据。它通常具有公有构造器、公有getter和setter...

    BeanUtil.rar

    BeanUtil需要的jar包和源码文件,commons-beanutils-1.8.0.jar,commons-beanutils-1.8.0-javadoc.jar,commons-beanutils-1.8.0-sources.jar,commons-beanutils-bean-collections-1.8.0.jar,commons-beanutils-...

    BeanUtil_MYSQL_mybaatis_

    在给定的标题"BeanUtil_MYSQL_mybaatis_"中,我们可以推断这是一个关于MyBatis和MySQL结合使用的工具类,可能用于自动根据实体Bean生成SQL语句。描述进一步明确了这个工具的功能,包括自动生成创建表的DDL(Data ...

    beanutil

    beanutil的的jar包 大家顶啦

    改进的BeanUtil包

    修改内容: 1.org.apache.commons.beanutils.converters包下增加了UtilDateConverter类 2.修改了org.apache.commons.beanutils.converters包下的StringConverter类 3.ConvertUtilsBean类中的public void ...

    commons-beanutil-1.7.0-src

    这个"commons-beanutil-1.7.0-src"压缩包包含了BeanUtils库的源代码,版本号为1.7.0,是开发者理解和自定义此库功能的重要资源。以下是关于Apache Commons BeanUtils库及其1.7.0版本的一些关键知识点: 1. **...

    简单的jsp项目需要的jar包,包括MySQL,JDBCTemplte,jQuery,JSTL,c3p0,druid,BeanUtil

    BeanUtil通常指的是Apache Commons BeanUtils库,这是一个实用工具类库,提供了各种方法来操作Java Bean,如属性的复制、类型转换等。在JSP项目中,BeanUtil可以帮助我们方便地处理对象之间的属性赋值,简化对象间的...

    beanutil的jar包打包

    "beanutil的jar包打包" 指的是将Apache Commons BeanUtils相关的类库打包成一个或多个JAR(Java Archive)文件。BeanUtils是Java开发中常用的工具包,它提供了对Java Bean操作的各种便利方法,如属性的设置与获取,...

    common-beanutil源代码

    common-beanutil的源代码 1.8.1

    apache beanutil_1.8.3_API

    beanutil_1.8.3_API

    dom4j jstl beanUtil log4j等jar包

    【标题】中的"dom4j jstl beanUtil log4j等jar包"涉及了四个重要的Java库,它们在开发Java应用程序,特别是Web应用时非常常见。下面将逐一详细介绍这些库的功能、用途以及如何在项目中使用它们。 1. **DOM4J**:这...

Global site tag (gtag.js) - Google Analytics