首页 资讯 IT 互联网 手机 智造 家电 电商 科普 游戏 关于我们 网站地图
首页/数字生活

1

beanutils.copyproperties对null处理不当缺点明显
2020-08-12

在Java中可能会用到属性拷贝,虽然不常用,但是有些需求确实要用到。对于某一属性,即原始对象和目的对象的属性名称相同,就可以拷贝原始对象的属性值到目的对象中。在MVC的开发模式中经常需要将model与pojo的数据绑定,apach和spring的工具包中都有BeanUtils,使用其中的copyProperties方法可以非常方便的进行这些工作,但在实际应用中发现,对于null的处理不太符合个人的需要,例如在进行修改操作中只需要对model中某一项进行修改,那么一般我们在页面上只提交model的ID及需要修改项的值,这个时候使用BeanUtils.copyProperties会将其他的null绑定到pojo中去。


Beanutils.copyProperties( )的使用与优化:
       1.使用原因
       因为现在都是前后端分离所以我们在响应APP端或者前端的时候会维护一套VO,那么DTO到VO的转换便是一堆get... set...这样的代码,比如好几个地方用到的话还要去复制粘贴来转换。所以这里的我就开始动脑子了。
       2.解决问题
       刚开始项目中是好几个地方在用,然后我就想把这段VO转换的代码抽取出来,先是想写个工具类,后来一想这是业务的代码。然后就写了一个抽象类。正好让其他接口直接继承。完美解决。然后是发现VO转换的地方很多,有没有更方便的转换方法? 要不然一堆代码岂不是很掉价。
       3.使用Beanutils
       这里使用的是 org.springframework.beans包下的copyProperties( )方法,他会把字段相同的Bean字段赋值,大大减少了代码量,但从其他程序员的建议说,这个操作会响应性能,数据量大的时候还没有直接get ,set性能好。

声明:该文系信息发布,IT手机世界仅提供信息存储空间服务。
点赞
来源:
新品快讯更多
厂商动态更多
会展中心更多
热搜排行更多

CopyRight@2015-2023 IT手机世界 All Right Reserved

工信备案号:京备A2-2009413

IT手机世界畅享移动互联时代智能智慧新生活