转载自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. hihocoder1718 最长一次上升子序列

    思路: 对于每个i,分别求1~i和i+1~N两部分的最长下降子序列“拼”起来,最终取最大长度即可.学习了如何使用BIT把LIS问题O(N2)算法优化为O(Nlog(N))的算法. https://ww ...

  2. DDR SDRAM

    DDR SDRAM(Double Data Rate SDRAM)是一种高速CMOS.动态随机访问存储器, 它采用双倍数据速率结构来完成高速操作.应用在高速信号处理系统中, 需要缓存高速.大量的数据的 ...

  3. 植物大战僵尸游戏的开发(python)

    装备东西: 搭建好python环境, 四张图片,(背景图片,炮弹图片,僵尸图片,豌豆图片),就ok了  没有安装pygame的需要进行安装  pip install pygame 参考视频 # 植物大 ...

  4. how to get many stars on Github?

    some key points: 1: make a beautiful README file2: use some GIF (google some tools to convert videos ...

  5. win10使用自带虚拟机没有Hyper-V场景

    开始咯~ 1.打开控制面板-程序和功能-启用或关闭Windows功能 2.发现下面并没有Hyper-v 真难受~~~   然后百度了一下原来是家庭版的win10没有.那就只能往下面看咯~ 3.在桌面添 ...

  6. Web框架_MVC vs MVT

    MVC 大部分开发语言中都有MVC框架 MVC框架的核心思想是:解耦 降低各功能模块之间的耦合性,方便变更,更容易重构代码,最大程度上实现代码的重用 M表示model,主要用于对数据库层的封装 V表示 ...

  7. Visual Studio 2017部署 webStrom开发的nodejs项目

    vs点击文件--新建--项目--JavaScript--Node.js--通过现有Node.js代码 wxxcx为nodejs项目根目录,然后右击整个项目--属性:1.启动目录2.默认打开的链接3.设 ...

  8. PHP01 LAMP网站构建

    学习要点 什么是web? 开发动态网站所需的web构件? 几种主流web应用程序平台? HTTP协议与web的关系? Web的工作原理? LAMP网站开发组合概述? 如何学习PHP? 什么是Web? ...

  9. OpenCV2:第十章 视频操作

    一.简介 OpenCV提供了专门操作视频的接口类VideoCapture 二.构造VideoCapture类 VideoCapture::VideoCapture() VideoCapture::Vi ...

  10. 如何移除浏览器一启动就打开lunchpage.org

    lunchpage.org 就是一个劫持网站.症状就是你打开你电脑上的任何浏览器都会重定向到一个广告页面.这个很烦! 解决方法: 1. 安装 Zemana AntiMalware 便携版. 2. 打开 ...