技术中心

这里象征着我们的态度和能力

>JavaBean之间拷贝利器-Dozer
作者:中国IT实验室    来源:中国IT实验室    发布时间:2012-01-28      浏览次数:6378
分享到:
欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入

  分析多层架构的JEE系统,经常存在JavaBean直接的拷贝。比如在DAO层,我们通过POJO取得业务层需要的数据,将这些数据传递给Service层的VO。POJO与VO就存在典型的值拷贝。还有就是Webservice,客户端调用Webservice,也存在将大量返回值映射到相应的JavaBean里。呵呵 我们项目就是这个需求。

   典型的解决方案就是手动拷贝,弊端很明显,代码中充斥大量Set Get方法,真正的业务没埋藏与值的拷贝之中。另一种方案就是使用BeanUtil,但BeanUtil不够很好的灵活性,又时候还不得不手动拷贝。

   对于这种重复没有实际意义的拷贝难道没有终结解决方案吗?! Dozer 一把JavaBean利器。(http://dozer.sourceforge.net/)

   什么是Dozer?

   看看官方的定义:

Dozer is a Java Bean to Java Bean mapper that recursively copies data from one object to 
another. Typically, these Java Beans will be of different complex types.

Dozer supports simple property mapping, complextype mapping, bi-directional mapping, implicitexplicit mapping, as well as recursive
mapping.This includes mapping collection attributes that also need mapping at the element level.

   注意:Dozer支持简单类型 复杂类型的双向递归映射。

   如何使用呢? 类似BeanUtil 很简单,如果两个javaBean之间,属性名相同,类型为基本类型,那么下面代码就OK了,基本没有学习曲线。

Mapper mapper = new DozerBeanMapper();

DestinationObject destObject = mapper.map(sourceObject, DestinationObject.class);
             or
DestinationObject destObject = new DestinationObject();
mapper.map(sourceObject, destObject);

   在后续的的内容中,我会介绍如何配置复杂的Map,如何自定义Map,如何获得Map的统计数据等。

4000-880-989
(24小时热线)
联系客服
微信公众号

官方公众号

小程序

©2008-2022 CORPORATION ALL Rights Reserved. 昆明奥远科技有限公司版权所有 滇ICP备09003328号-1 滇公网安备 53011102000818号 增值电信业务经营许可证号:滇B2-20110045
昆明那家网络公司好,新媒体运营,网站优化,网络推广,网站建设,网页设计,网站设计,网站推广,云南网站公司,昆明新媒体公司,云南网红主播,昆明SEO公司,昆明网站建设,昆明网络推广,昆明网站优化,昆明网站推广,红河网站建设,大理网络公司,曲靖网络公司,丽江网站设计,昭通网络公司,保山大数据服务,智慧高速建设,智慧校园服务,云南IDC服务商,网络安全测评,等保测评,网站关键词排名优化服务,服务客户尽超2000余家,一切尽在奥远科技,服务电话:13888956730