背景
java开发中一个对象的值赋值给另外一个对象,这样的例子太多,页面VO对象,需要转换为业务mode对象,系统中存在大量的VO、DTO、DO、PO,大量的转换代码需要程序员一行一行敲。为了程序员少加班,我推荐几个对象转换工具包。
学习目标
- 能提高开发效率,早点下班
- 自己能结合工具包定制适合自己项目的工具
代码案例
DTO(Data Transfer Object):数据传输对象
DO(Domain Object):领域对象
这两个对象有大量相同属性,注意有少数属性类型不一样sex和extInfo
DO对象用来 mybatis 入库的
———程序员,一般把类型属性设计成枚举,更安全更易懂——————–
—————-模拟数据转换过程,大家天天在写这样的代码,如果属性特别多,工作量不小————————
转换逻辑 :利用org.springframework.beans.BeanUtils工具帮我们自动转换赋值—–spring的东西就是强大—–
结果完美的转换了,DO就是我要存入数据库表的对象
升级版案例
跟上面代码完成一样的功能,但转换逻辑优化了。
我这里是学的google的Guava工具实现 ,要看的这里进去
具体底层转换工具包,大家根据项目情况合理选择
我还是推荐spring的工具包
——-apache的工具包有些坑,不推荐使用
转换逻辑: 前面代码一样我就省略,这里是回调函数加泛型
心得
- 性能上cglib最好
- 一般用spring就够了
- apache的这个工具用些坑,具体我就不讲了。
- 工具底层一般都是反射技术来实现的,如果对象复杂【比如DTO有继承关系】,可以自己写反射来实现。
请 关注 收藏 转发,有错误请指点
需要完整 demo 代码案例的, 关注 我,私信:转换 ,我把代码发你。