对于这种重复没有实际意义的拷贝难道没有终结解决方案吗?! 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的统计数据等。