转载自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. UVa OJ 494

     Kindergarten Counting Game  Everybody sit down in a circle. Ok. Listen to me carefully. ``Woooooo, ...

  2. php 缓存工具类 实现网页缓存

    php 缓存工具类 实现网页缓存 php程序在抵抗大流量访问的时候动态网站往往都是难以招架,所以要引入缓存机制,一般情况下有两种类型缓存 一.文件缓存 二.数据查询结果缓存,使用内存来实现高速缓存 本 ...

  3. BottomNavigationBar底部导航条用法

    先来张效果图 接下来是实现过程 1.加入依赖 compile 'com.ashokvarma.android:bottom-navigation-bar:1.3.0' 2.xml布局 fragment ...

  4. IOS应用

    下面是这个类的一些功能: 1.设置icon上的数字图标 //设置主界面icon上的数字图标,在2.0中引进, 缺省为0 [UIApplicationsharedApplication].applica ...

  5. pspad的一个怪现象:在一些空行的位置出现个别不该出现的字符

    在用pspad编辑一个外来文件时,发现有许多空行的结尾会出现一些单个字符,字符内容与翻页前那一页相应位置的字符相同. 好奇怪.上网找不到原因.pspad太好用了,不想因此放弃. 仔细观察,这些空行往往 ...

  6. windows下安装python

    1. 进入python官网   https://www.python.org/downloads/windows/ 2.根据我们的电脑位数选择版本,尽量选择  Download Windows x86 ...

  7. nginx 新手入门

    Nginx 是一个高性能的http 和反向代理服务器,也是一个代理服务器. Nginx比Apache 更加轻量级,占用的资源少,抗并发,二apache是阻塞型的,在高并发下,nginx更占优势. 我们 ...

  8. pip install python-igraph 报错,C core of igraph 没有安装。

    (一)问题描述 Centos7 安装python-igraph时,pip install python-igraph 报错,C core of igraph 没有安装. failure: repoda ...

  9. Deep_into_iris

    具体ipynb文件请移步Github #各种所需要的库函数首先加载 import numpy as np import pandas as pd import matplotlib.pyplot as ...

  10. 批处理 更新 svn git hg

    @echo off Setlocal enabledelayedexpansion ::CODER BY Administrator POWERD BY iBAT 1.6 ::设置svn默认安装位置以 ...