zoukankan      html  css  js  c++  java
  • dozer-初识

    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代码  收藏代码
    1. public class Book {  
    2.     private String name;  
    3.     private String author;  
    4.   
    5.     public String getName() {  
    6.         return name;  
    7.     }  
    8.   
    9.     public void setName(String name) {  
    10.         this.name = name;  
    11.     }  
    12.   
    13.     public String getAuthor() {  
    14.         return author;  
    15.     }  
    16.   
    17.     public void setAuthor(String author) {  
    18.         this.author = author;  
    19.     }  
    20.   
    21.     public Book() {  
    22.     }  
    23. }  
    24.    


    Java代码  收藏代码
    1.     
    2. public class BookVo {  
    3.     private String namevo;  
    4.     private String authorvo;  
    5.   
    6.     public String getNamevo() {  
    7.         return namevo;  
    8.     }  
    9.   
    10.     public void setNamevo(String namevo) {  
    11.         this.namevo = namevo;  
    12.     }  
    13.   
    14.     public String getAuthorvo() {  
    15.         return authorvo;  
    16.     }  
    17.   
    18.     public void setAuthorvo(String authorvo) {  
    19.         this.authorvo = authorvo;  
    20.     }  
    21.   
    22.     public BookVo() {  
    23.     }  
    24. }  
    25.   
    26.   
    27.      


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

    Xml代码  收藏代码
    1. <?xml version="1.0" encoding="UTF-8"?>  
    2. <mappings xmlns="http://dozer.sourceforge.net"  
    3.        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    4.        xsi:schemaLocation="http://dozer.sourceforge.net  
    5.        http://dozer.sourceforge.net/schema/beanmapping.xsd">  
    6.          
    7.        <mapping>  
    8.         <class-a>test.Book</class-a>  
    9.         <class-b>test.BookVo</class-b>  
    10.         <field>  
    11.             <a>name</a>  
    12.             <b>namevo</b>  
    13.         </field>  
    14.         <field>  
    15.             <a>author</a>  
    16.             <b>authorvo</b>  
    17.         </field>  
    18.        </mapping>  
    19.  </mappings>  




       测试类
      

    Java代码  收藏代码
      1. package test;  
      2.   
      3. import java.util.ArrayList;  
      4. import java.util.List;  
      5.   
      6. import org.apache.commons.logging.Log;  
      7. import org.apache.commons.logging.LogFactory;  
      8. import org.dozer.DozerBeanMapper;  
      9.   
      10. /** 
      11.  * 说明: 
      12.  *  
      13.  * @author lsr 
      14.  * @version Aug 17, 2011 
      15.  */  
      16. public class DozerTest {  
      17.     /** 
      18.      * @param args 
      19.      */  
      20.     public static void main(String[] args) {  
      21.         testByXml();  
      22.     }  
      23.       
      24.     public static void testByXml() {  
      25.         Book book = new Book();  
      26.         book.setAuthor("lsr");  
      27.         book.setName("dozer demo");  
      28.         DozerBeanMapper mapper = new DozerBeanMapper();  
      29.         List<String> mappers = new ArrayList<String>();  
      30.         mappers.add("bookMapper.xml");  
      31.         mapper.setMappingFiles(mappers);  
      32.         BookVo vo = new BookVo();  
      33.         mapper.map(book, vo);  
      34.         System.out.println("book's name:" + book.getName());  
      35.         System.out.println("bookVo's name:" + vo.getNamevo());  
      36.     }  
      37.   
      38. }  
      39.   
      40.      
  • 相关阅读:
    10年后方向
    nginx的配置文件server_name的意义 location意义
    java程序员应该知道的20个有用的库
    集群和分布式区别
    noVNC连接CentOS,以Web方式交付VNC远程连接
    centos7.2云主机安装桌面
    centos7.2 rabbitmq3.6.2源码部署
    Linux下打包压缩war和解压war包 zip和jar
    CentOS7.2下安装mongoDB3.2.8
    centos7 mysql5.7.17源码安装
  • 原文地址:https://www.cnblogs.com/quchengfeng/p/5064207.html
Copyright © 2011-2022 走看看