首页 > 其他 > 详细

复制属性的工具类

时间:2019-08-25 09:52:13      阅读:80      评论:0      收藏:0      [点我收藏+]

转自:https://blog.csdn.net/howroad/article/details/91308579

在开发中进行遇到值对象和实体间的数据复制.

其中最常用的为Apache BeanUtilsBean的copyProperties.

本次测试发现该工具可兼容大部分数据格式,但在Java.sql.Date和java.util.Date复制时,原数据如为空将发送报错.

通过注册BeanUtilsBean的转换器,简单封装copyProperties方法.

完成效果: 调用封装后的工具类方法复制对象属性时, 遇到Date数据一律给予新对象对应属性赋值为null.

 

最终使用:

Attach attach = new Attach();
attach.setCreatePerson("123");
//attach.setCreateTime(new Date());
EbankApply ebankApply = new EbankApply();
EbankApply ebankApply2 = new EbankApply();
EbankApply ebankApply4 = new EbankApply();
try {
org.apache.commons.beanutils.BeanUtils.copyProperties(ebankApply, attach);//Date 数据为空时报错
org.apache.commons.beanutils.PropertyUtils.copyProperties(ebankApply2, attach);//正常
org.springframework.beans.BeanUtils.copyProperties(attach, ebankApply4);//注意参数顺序和Apache的相反
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
System.out.println(attach);
System.out.println(ebankApply);
System.out.println(ebankApply2);
System.out.println(ebankApply4);
所以不使用BeanUtil,使用PropertyUtils
————————————————
版权声明:本文为CSDN博主「howroad」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/howroad/article/details/91308579

复制属性的工具类

原文:https://www.cnblogs.com/sharpest/p/11406778.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!