BeanUtil拷贝

Posted ssjf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BeanUtil拷贝相关的知识,希望对你有一定的参考价值。

拷贝vo对象

一些查询到的数据很多是不需要的,可以创建vo对象,对需要的对象属性进行拷贝

maven依赖

<dependency>
  <groupId>org.projectlombok</groupId>
  <artifactId>lombok</artifactId>
  <version>1.18.2</version>
  <scope>provided</scope>
</dependency>

封装好的BeanUtil工具类

vo对象的字段名要跟源对象的一样

package com.seacoders.weigh.commons;

import com.seacoders.weigh.commons.exception.BeanCopyException;
import org.springframework.beans.BeanUtils;

import java.util.ArrayList;
import java.util.List;

/**
 * @author 
 * @date 
 *
 * 对Spring BeanUtils扩展,支持List集合拷贝
 */
public class BeanUtil {

    public static void copyProperties(Object source, Object target) {
        BeanUtils.copyProperties(source, target);
    }

    /**
     * 拷贝Bean对象
     * @param source 源对象
     * @param clazz 目标对象额Class
     * @param <T>
     * @return
     */
    public static <T> T copyProperties(Object source, Class<T> clazz){
        Object target = null;
        try {
            target = clazz.newInstance();
            copyProperties(source, target);
            return (T)target;
        } catch (InstantiationException e) {
            throw new BeanCopyException(e.getMessage());
        } catch (IllegalAccessException e) {
            throw new BeanCopyException(e.getMessage());
        }

    }

    /**
     * 拷贝List集合
     * @param source 源对象集合
     * @param clazz 目标对象Class
     * @param <T>
     * @return
     */
    public static <T> List<T> copyListProperties(List source, Class<T> clazz) {
        List<T> list = new ArrayList<>();
        for (Object o : source) {
            Object target = copyProperties(o, clazz);
            list.add((T)target);
        }
        return list;
    }
}

 

以上是关于BeanUtil拷贝的主要内容,如果未能解决你的问题,请参考以下文章

BeanUtil体会

BeanUtil工具类的使用

Android 逆向使用 DB Browser 查看并修改 SQLite 数据库 ( 从 Android 应用数据目录中拷贝数据库文件 | 使用 DB Browser 工具查看数据块文件 )(代码片段

Android 逆向使用 DB Browser 查看并修改 SQLite 数据库 ( 从 Android 应用数据目录中拷贝数据库文件 | 使用 DB Browser 工具查看数据块文件 )(代码片段

BeanUtil 好用的工具类

CTO:禁止在项目中使用 BeanUtils 属性转换工具。。。