转载自http://lishaorui.iteye.com/blog/1151513

1、简介

    dozer是一种JavaBean的映射工具,类似于apache的BeanUtils。但是dozer更强大,它可以灵活的处理复杂类型之间的映射。不但可以进行简单的属性映射、复杂的类型映射、双向映射、递归映射等,并且可以通过XML配置文件进行灵活的配置。



2、准备

   现在开始就小试一下。

   首先,需要下载jar包,

   dozer.jar :http://dozer.sourceforge.net/downloading.html

   还需要slf4j.jar,commons-lang.jar,commons-beanutil.jar, commons-loggin.jar



3、代码

   两个bean

Java代码 

public class Book { 

    private String name; 

    private String author; 

 

    public String getName() { 

        return name; 

    } 

 

    public void setName(String name) { 

        this.name = name; 

    } 

 

    public String getAuthor() { 

        return author; 

    } 

 

    public void setAuthor(String author) { 

        this.author = author; 

    } 

 

    public Book() { 

    } 



  





Java代码 

   

public class BookVo { 

    private String namevo; 

    private String authorvo; 

 

    public String getNamevo() { 

        return namevo; 

    } 

 

    public void setNamevo(String namevo) { 

        this.namevo = namevo; 

    } 

 

    public String getAuthorvo() { 

        return authorvo; 

    } 

 

    public void setAuthorvo(String authorvo) { 

        this.authorvo = authorvo; 

    } 

 

    public BookVo() { 

    } 



 

 

    



  

   bookMapper.xml配置文件,用来对DozerBeanMapper进行设置。

 

Xml代码 

<?xml version="1.0" encoding="UTF-8"?> 

<mappings xmlns="http://dozer.sourceforge.net" 

       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

       xsi:schemaLocation="http://dozer.sourceforge.net 

       http://dozer.sourceforge.net/schema/beanmapping.xsd"> 

        

       <mapping> 

        <class-a>test.Book</class-a> 

        <class-b>test.BookVo</class-b> 

        <field> 

            <a>name</a> 

            <b>namevo</b> 

        </field> 

        <field> 

            <a>author</a> 

            <b>authorvo</b> 

        </field> 

       </mapping> 

</mappings> 







   测试类

 

Java代码 

package test; 

 

import java.util.ArrayList; 

import java.util.List; 

 

import org.apache.commons.logging.Log; 

import org.apache.commons.logging.LogFactory; 

import org.dozer.DozerBeanMapper; 

 

/**

* 说明:



* @author lsr

* @version Aug 17, 2011

*/ 

public class DozerTest { 

    /**

     * @param args

     */ 

    public static void main(String[] args) { 

        testByXml(); 

    } 

     

    public static void testByXml() { 

        Book book = new Book(); 

        book.setAuthor("lsr"); 

        book.setName("dozer demo"); 

        DozerBeanMapper mapper = new DozerBeanMapper(); 

        List<String> mappers = new ArrayList<String>(); 

        mappers.add("bookMapper.xml"); 

        mapper.setMappingFiles(mappers); 

        BookVo vo = new BookVo(); 

        mapper.map(book, vo); 

        System.out.println("book's name:" + book.getName()); 

        System.out.println("bookVo's name:" + vo.getNamevo()); 

    } 

 

}

JavaBean映射工具dozer学习的更多相关文章

  1. 【代码工具】Orika JavaBean映射工具探秘

    转自:https://www.cnblogs.com/albert1024/articles/8434741.html Orika是一个简单.快速的JavaBean拷贝框架,Orika使用字节代码生成 ...

  2. Orika JavaBean映射工具探秘

    Orika是一个简单.快速的JavaBean拷贝框架,Orika使用字节代码生成来创建具有最小开销的快速映射器. 关于: 作为开发人员,我们必须为业务问题提供解决方案,我们希望利用我们的时间来做真正重 ...

  3. java Bean的映射工具

    数据层,业务逻辑层和表现层,每一层对应的应该是不一样的对象,所以就有个这么个java bean的映射工具 dozer.......................................... ...

  4. Dozer JAVA的POJO 映射工具

    Dozerhttp://www.manongjc.com/article/50949.html JAVA的映射工具 BeanUtils dozer的使用方法https://blog.csdn.net/ ...

  5. Bean映射工具之Apache BeanUtils VS Spring BeanUtils

    背景 在我们实际项目开发过程中,我们经常需要将不同的两个对象实例进行属性复制,从而基于源对象的属性信息进行后续操作,而不改变源对象的属性信息,比如DTO数据传输对象和数据对象DO,我们需要将DO对象进 ...

  6. Java bean常见映射工具分析和比较

    1. 概述 日常Java开发项目中,我们经常需要将对象转换成其他形式的对象,因此我们需要编写映射代码将对象中的属性值从一种类型转换成另一种类型. 进行这种转换除了手动编写大量的get/set代码,还可 ...

  7. 常见Bean映射工具分析评测及Orika介绍

    原地址:http://tech.dianwoda.com/2017/11/04/gao-xing-neng-te-xing-feng-fu-de-beanying-she-gong-ju-orika/ ...

  8. Java实体映射工具MapStruct的使用

    官网地址:http://mapstruct.org/ MapStruct 是一个代码生成器,简化了不同的 Java Bean 之间映射的处理,所谓的映射指的就是从一个实体变化成一个实体.例如我们在实际 ...

  9. Dozer-对象属性映射工具类

    Dozer-对象属性映射工具类 工具类代码: import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; impo ...

随机推荐

  1. 动手实现 Redux(二):抽离 store 和监控数据变化

    上一节 的我们有了 appState 和 dispatch: let appState = { title: { text: 'React.js 小书', color: 'red', }, conte ...

  2. spring boot 的redis 之初理解

    项目到末尾了快, 这几天安排我结合业务场景给项目加上redis 缓存, 我接到这个任务也是懵逼了一会儿: 问了一句让我自己先想办法,没办法硬着头皮查吧, 要不不得不说spring boot 还是好用, ...

  3. ES6学习笔记(4)----正则的扩展

    参考书<ECMAScript 6入门>http://es6.ruanyifeng.com/ 正则的扩展 ES6新增的正则表达式修饰符 u修饰符a.能够更准确地匹配unicode大于\uFF ...

  4. 各个浏览器CSS中的Bugs及解决方案

    Bugs及解决方案列表(以下实例默认运行环境都为Standard mode): 如何在IE6及更早浏览器中定义小高度的容器? 方法: #test{overflow:hidden;height:1px; ...

  5. ios 根据颜色生成图片,十六进制颜色。

    //颜色生成图片方法 - (UIImage *)imageWithColor:(UIColor *)color size:(CGSize)size { CGRect rect = CGRectMake ...

  6. [python3]PyCharm编辑器

    简介 Python有丰富的开发工具,本教程不一一进行介绍,只推荐大家使用PyCharm,因为python开发者都在用它,但缺点就是消耗电脑资源,如果你电脑配置低,就会比较卡 下载 下载地址: http ...

  7. Makeflie自动生成依赖,自动化编译

    在netbeans里开发,有一个重要文件makefile,是用来编译所有的文件. 项目的目录结构如下,扁平的目录结构,如何实现自动化编译,写makefile呢? 第一版 基础版: CC = g++ C ...

  8. Boxes And Balls(三叉哈夫曼编码)

    题目 原题链接:http://codeforces.com/problemset/problem/884/D 现有一堆小石子,要求按要求的数目分成N堆,分别为a1.a2....an.具体的,每次选一个 ...

  9. uva1627 Team them up!

    注意这题要求互相认识不认识的人之间连一条线一个人在组1,那么不认识(互相认识)的人就在组0:同时这些人不认识的人就在组1.每个联通分量都可以独立推导,遇到矛盾则无解一个联通分量有一个核心,其他的点是分 ...

  10. zabbix4.2学习笔记系列

    写在前面:对zabbix的接触始于对监控的了解,网上比较多zabbix相关博客,比较多基于3系列甚至2系列,最新开发版zabbix4.2版本已经出来,本博客基于4.2版本学习,参考官网4.2版本和网上 ...