简单封装Dozer, 实现深度转换Bean到Bean的Mapper.实现:

原创 2016年06月01日 17:47:44

import java.util.Collection;
import java.util.List;

import org.dozer.DozerBeanMapper;

import com.google.common.collect.Lists;

/**
* 简单封装Dozer, 实现深度转换Bean<->Bean的Mapper.实现:
*
* 1. 持有Mapper的单例.
* 2. 返回值类型转换.
* 3. 批量转换Collection中的所有对象.
* 4. 区分创建新的B对象与将对象A值复制到已存在的B对象两种函数.
*
*/
public class BeanMapper {

/**
 * 持有Dozer单例, 避免重复创建DozerMapper消耗资源.
 */
private static DozerBeanMapper dozer = new DozerBeanMapper();

/**
 * 基于Dozer转换对象的类型.
 */
public static <T> T map(Object source, Class<T> destinationClass) {
    return dozer.map(source, destinationClass);
}

/**
 * 基于Dozer转换Collection中对象的类型.
 */
@SuppressWarnings("rawtypes")
public static <T> List<T> mapList(Collection sourceList, Class<T> destinationClass) {
    List<T> destinationList = Lists.newArrayList();
    for (Object sourceObject : sourceList) {
        T destinationObject = dozer.map(sourceObject, destinationClass);
        destinationList.add(destinationObject);
    }
    return destinationList;
}

/**
 * 基于Dozer将对象A的值拷贝到对象B中.
 */
public static void copy(Object source, Object destinationObject) {
    dozer.map(source, destinationObject);
}

}

版权声明:本文为博主原创文章,未经博主允许不得转载。

DozerBeanMapper对象之间相同属性名赋值

在业务逻辑很复杂的时候,一般都是牵涉到
  • luo201227
  • luo201227
  • 2014年04月18日 15:39
  • 10455

Dozer(JavaBean的映射工具)开发手册

[-] 1并行对象层次使用前的准备 1 下载以下的部分2 第一个映射3 通过XML文件指示用户映射文件4 Dozer和依赖注入框架 使用 1普通使用 11 Dozer Bea...
  • whhahyy
  • whhahyy
  • 2015年09月20日 09:50
  • 13716

Dozer 简单封装实现深度转换Bean<->Bean的Mapper

/** * 简单封装Dozer, 实现深度转换BeanBean的Mapper.实现: * * 1. 持有Mapper的单例. * 2. 返回值类型转换. * 3. 批量转换Collec...
  • qq_27720567
  • qq_27720567
  • 2017年03月17日 21:08
  • 574

DozerBeanMapper + 对象转Map方法

1、简介     dozer是一种JavaBean的映射工具,类似于apache的BeanUtils。但是dozer更强大,它可以灵活的处理复杂类型之间的映射。不但可以进行简单的属性映射、复杂的类型映...
  • cbjcry
  • cbjcry
  • 2017年04月13日 10:49
  • 558

禁止dozer映射空属性

dozer是一个java bean copy类库,性能优于apache的BeanUtils,但是他们两个都会对空属性进行拷贝,这点很不方便。在dozer中可以使用xml映射禁用空属性拷贝,还得配置xm...
  • kid_2412
  • kid_2412
  • 2016年08月31日 14:32
  • 1359

dozer-javabean映射工具详解

简介 dozer是一种JavaBean的映射工具,类似于Apache的BeanUtils。它可以灵活地处理复杂类型之间的映射。不但可以进行简单的属性映射、复杂的类型映射、双向映射、递归映射等,并且可以...
  • u010832551
  • u010832551
  • 2017年07月06日 15:26
  • 697

Dozer轻松实现对象间属性复制

对外接口,一般都使用特定的DTO对象,而不会使用领域模型,以避免两者的变动互相影响。其他框架适配等情形,也可能需要DTO对象。 如果手工一个个属性的在两个对象间复制有点累人,如果对象里面还有对象,就更...
  • mazhimazh
  • mazhimazh
  • 2014年05月27日 20:11
  • 3167

Dozer数据对象转换神器

首先,为什么要进行数据转换?       在一个分层的体系结构中,经常会使用DTO、PO、VO等封装数据,封装数据到特定的数据对象中,然而在很多情况下,某层内部的数据是不允许传递到其它层,不允许对外...
  • tianruirui
  • tianruirui
  • 2016年08月04日 10:46
  • 8569

Dozer扫盲级教程

前言 这篇文章是本人在阅读Dozer官方文档(5.5.1版本,官网已经一年多没更新了)的过程中,整理下来我认为比较基础的应用场景。 本文中提到的例子应该能覆盖JavaBean映射的大部分场景,希望对你...
  • stu059074244
  • stu059074244
  • 2017年09月01日 09:59
  • 180

Dozer开发手册

1.为什么要映射 一个映射的框架在一个分层的体系架构中非常有用,特别是你在创建一个抽象的分层去包装一些特殊数据的变化 vs 这些数据传输到其它层(外部服务的数据对象、领域的数据对象、数据传输对象、内部...
  • tiandesheng111
  • tiandesheng111
  • 2014年09月14日 17:32
  • 6505
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:简单封装Dozer, 实现深度转换Bean到Bean的Mapper.实现:
举报原因:
原因补充:

(最多只允许输入30个字)