dozer-初識

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代碼  收藏代碼
  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.      
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章