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

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

那就是:cn.hutool的BeanUtil,在代码中使用:        

将caseInfoBeanRedis中不为NULL的属性复制到 aplCaseInfoLog中去:

BeanUtil.copyProperties(

caseInfoBeanRedis,  //源Bean对象

aplCaseInfoLog,        //目标Bean对象

true,                           //是否忽略大小写

CopyOptions.create().setIgnoreNullValue(true).setIgnoreError(true)       //拷贝选项,是否NULL属性不复制到目标Bean中

);

 

 

 

使用方法:

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();
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学编程的司马光

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值