`
lishaorui
  • 浏览: 148725 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

dozer-初识

    博客分类:
  • Java
阅读更多
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
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() {
	}
}
 


  
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 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>

   



   测试类
  
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());
	}

}

   

分享到:
评论
2 楼 sucheng2016 2016-10-17  
这个技术     
1 楼 用户名已存在没招 2015-07-27  
能给我看一下这个的完整路径么 
我的这个找不到xml文件

相关推荐

Global site tag (gtag.js) - Google Analytics