简单封装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);
}

}

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

相关文章推荐

Java Bean 映射工具 Dozer (转)

   分析多层架构的JEE系统,经常存在JavaBean直接的拷贝。比如在DAO层,我们通过POJO取得业务层需要的数据,将这些数据传递给Service层的VO。POJO与VO就存在典型...
  • zh_fn
  • zh_fn
  • 2014-02-20 13:46
  • 1381

Dozer开发手册

1.为什么要映射 一个映射的框架在一个分层的体系架构中非常有用,特别是你在创建一个抽象的分层去包装一些特殊数据的变化 vs 这些数据传输到其它层(外部服务的数据对象、领域的数据对象、数据传输对象、内部...

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

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

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

在业务逻辑很复杂的时候,一般都是牵涉到

利用BeanMap进行对象与Map的相互转换

javabean与map的转换有很多种方式,比如: 1、通过ObjectMapper先将bean转换为json,再将json转换为map,但是这种方法比较绕,且效率很低,经测试,循环转换10000个b...

Dozer数据对象转换神器

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

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

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

BeanMapper对象拷贝

BeanMapper对象拷贝 import java.util.Collection; import java.util.List; import org.dozer.DozerBe...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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