dozer使用教程

1.什么是dozer
Dozer是Java Bean到Java Bean映射器,它以递归方式将数据从一个对象复制到另一个对象。通常,这些Java Bean将具有不同的复杂类型。

Dozer支持简单属性映射,复杂类型映射,双向映射,隐式显式映射以及递归映射。这包括映射还需要在元素级别进行映射的集合属性。
注意:dozer 目前不支持集合之间的转换 ,需要自己进行处理,稍后我会提供一个简单的工具类.

目前dozer官网最新的班委5.4.1 2014年4月发布 至今一直未曾更新!!

2.快速入门
2.1导入依赖



    net.sf.dozer
    dozer
    5.5.1

2.2以xml形式为例



          
   
    org.dozer.vo.TestObject
    org.dozer.vo.TestObjectPrime   
    
      one
      onePrime
    
    

   
    org.dozer.vo.TestObjectFoo
    org.dozer.vo.TestObjectFooPrime   
      
        oneFoo
        oneFooPrime
      
    

 

从版本5.5.0开始,Spring集成了额外的模块dozer-spring。将DozerBeanMapperFactoryBean添加到Spring配置文件中。您可以在mappingFiles属性中指定您创建的任何自定义数据库映射文件。如果您没有任何自定义映射,则此列表可以为空。也可以设置自定义事件侦听器和bean工厂。请注意,此Factory Bean支持Spring Resources

  
        
        
            
                      
            
        
        
            
                
            
        
        
            
                
            
        
    
            

2.3简单的工具类

/**
 * @author :dongshuo
 * @date : 2019/2/11 17:36
 * @desc :
 */
public class DozerUtil {
    private DozerUtil() {
    }

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


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


    /**
     * 基于Dozer转换Collection中对象的类型.
     */
    public static  List mapList(Collection sourceList, Class destinationClass) {
        List 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);
    }
}

参考:https://www.cnblogs.com/ynyhl/p/9274296.html
http://dozer.sourceforge.net/documentation/springintegration.html

你可能感兴趣的:(工具类,java高级)