org.apache.commons.beanutils.BeanUtils复制Bean多次后,将NULL属性也复制到了目标对象

使用org.apache.commons.beanutils.BeanUtils,发现复制Bean多次后,将NULL属性也复制到了目标对象,于是换了一个工具类,发现十分好用,可控性高

那就是:cn.hutool的BeanUtil

在代码中使用:                

BeanUtil.copyProperties(caseInfoBeanRedis,aplCaseInfoLog,true, CopyOptions.create().setIgnoreNullValue(true).setIgnoreError(true));

 

pom文件中引入:
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>4.1.14</version>
        </dependency>

 

 

    /**
     * 复制Bean对象属性<br>
     * 限制类用于限制拷贝的属性,例如一个类我只想复制其父类的一些属性,就可以将CopyOptions.editable设置为父类
     * 
     * @param source 源Bean对象
     * @param target 目标Bean对象
     * @param ignoreCase 是否忽略大小写
     * @param copyOptions 拷贝选项,见 {@link CopyOptions}
     */
    public static void copyProperties(final Object source, Object target, boolean ignoreCase, CopyOptions copyOptions) {
        if (null == copyOptions) {
            copyOptions = new CopyOptions();
        }
        BeanCopier.create(source, target, copyOptions).copy();
    }

 

上一篇:Java类属性


下一篇:使用BeanUitls提高对象拷贝效率