BeanUtils中copyProperties的使用

BeanUtils中copyProperties的使用

我们在编程过程中,一个JavaBean对象通常包含了大量的属性,在合适的时候使用copyProperties代替set/get,不失为一个巧妙的方法。我原本使用的是org.apache.commons.beanutils。但是commons系列,BeanUtils.copyProperties存在性能问题。经过了解后,我了解到了Hutool。在我个人看来,对于copyProperties性能问题,Hutool还是有一定自己的强处。特此分享一下我的使用过程和心得体会。

// 重新创建对象 用于保存历史
SafetyDeptAuditHistoryDO safetyDeptAuditHistoryDO = new SafetyDeptAuditHistoryDO();
// 拷贝流程数据进入历史数据表 
BeanUtil.copyProperties(safetyDeptAuditProcessDO, safetyDeptAuditHistoryDO);
// 保存历史信息对象
safetyDeptAuditDao.saveSafetyDeptAuditHistory(safetyDeptAuditHistoryDO);

这里我主要用于在业务进行完毕之后,将流程表内数据转存至历史表,便于数据回溯,所以使用到了BeanUtil.copyProperties。

同时,我也用于将DTO转为VO对象传递:

// 查询到的数据拷贝到VO对象中回传
BeanUtil.copyProperties(safetyDeptHistoryInfoDTO, safetyDeptAuditedVO);

此时hutool工具类 cn.hutool.core.bean.BeanUtil:

将Process对象赋值给History对象:
BeanUtils.copyProperties(Process,History);

而commons工具类 org.apache.commons.beanutils:
将Process对象赋值给History对象:
BeanUtils.copyProperties(History,Process);

千万记住!这两个工具类是相反的!我第一次使用时就入了坑

你可能感兴趣的:(工具类,java,java)