转载自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. 9.JAVA-抽象类定义

    1.抽象类 抽象类,用来表示一个抽象概念. 是一种只能定义类型,而不能产生对象的类,所以定义了抽象类则必须有子类的出现. 抽象类的好处在于能够明确地定义子类需要覆写的方法 抽象类需要使用abstrac ...

  2. CF779B(round 402 div.2 B) Weird Rounding

    题意: Polycarp is crazy about round numbers. He especially likes the numbers divisible by 10k. In the ...

  3. Android RxJava小结

    一.如何使用 在build.gradle中添加依赖 dependencies { api 'io.reactivex:rxandroid:1.2.1' api 'io.reactivex:rxjava ...

  4. express搭建平台

    1.nodeJs的安装(npm的安装) nodejs官方下载地址:https://nodejs.org 2.express的安装( $ npm install -g express #全局安装expr ...

  5. IF-MIB::ifTable = No Such Object available on this agent at this OID

    在server端口执行如下命令 [root@localhost ~]# snmpwalk -v2c -c public 客户端ip ifIF-MIB::ifTable = No Such Object ...

  6. sqlserver:查询锁住sql以及解锁

    --查看被锁表:SELECT request_session_id spid, OBJECT_NAME( resource_associated_entity_id ) tableNameFROM s ...

  7. SQLite – GROUP BY

    SQLite - GROUP BY SQLite GROUP BY子句中使用与SELECT语句的合作安排相同的数据组. 在GROUP BY子句之前一个SELECT语句的WHERE子句,先于ORDER ...

  8. CentOS7.6 修改密码

    一.重启系统,在开机过程中,按下键盘上的e,进入编辑模式   三.将光标一直移动到 LANG=en_US.UTF-8 后面,空格,再追加init=/bin/sh.这里特别注意,需要写在UTF-8后,保 ...

  9. centos nginx uwsgi django

    doc link uwsgi link video link

  10. 前段开发 jq ajax数据处理详细讲解。

    定义和用法 ajax() 方法通过 HTTP 请求加载远程数据. 常用的ajax结构模板: function indes(){ $.ajax({ url: '', type: "GET&qu ...