转载自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());
}
}
分享到:
相关推荐
**Dozer:JavaBean到JavaBean的映射神器** Dozer是Java开发中的一款强大工具,主要用于Java Bean之间的数据映射。它简化了在不同对象模型之间传递数据的过程,尤其在处理复杂对象结构时,其功能显得尤为重要。Dozer...
《Dozer:强大的JavaBean映射工具》 在Java开发中,对象间的属性映射是一项常见的任务,尤其是在数据转换和接口交互中。Apache的BeanUtils是这类问题的一个基础解决方案,但当面临更复杂的映射需求时,其功能就显得...
Dozer是一个JavaBean的映射工具,用于在Java对象之间转换属性值。它类似于Apache的BeanUtils,但Dozer特别优化了复杂对象的映射,可以将一个对象的字段映射到另一个对象,这在分层架构中尤其有用。在分层架构中,...
Dozer是一个强大的Java对象映射工具,通过它,开发者可以轻松地进行对象之间的数据转换,提高代码的可维护性和复用性。依赖的Apache Commons库提供了丰富的功能,为Dozer的高效运行提供了支持。使用Dozer可以极大地...
dozer是一种JavaBean的映射工具,类似于Apache的BeanUtils。它可以灵活地处理复杂类型之间的映射。不但可以进行简单的属性映射、复杂的类型映射、双向映射、递归映射等,并且可以通过XML配置文件进行灵活的配置。 ...
dozer是一种JavaBean的映射工具,类似于apache的BeanUtils。但是dozer更强大,它可以灵活的处理复杂类型之间的映射。不但可以进行简单的属性映射、复杂的类型映射、双向映射、递归映射等,并且可以通过XML配置文件...
在IT行业中,数据交换和序列化是至关重要的环节,...在实际开发中,选择哪种工具主要取决于项目的具体需求,如性能、灵活性、学习曲线和社区支持等。了解并熟练使用这些工具,能提高开发效率,减少数据交换中的错误。
除了框架内置的功能,还有一些第三方库可以帮助简化这个过程,如Dozer、ModelMapper等,它们提供了一种更直观的方式来映射对象之间的属性。 8. **单元测试**: 对于封装逻辑,编写单元测试是非常重要的,确保无论...
- 除了标准库,还有一些第三方库如Apache Commons BeanUtils、Dozer等提供了更便捷的对象映射功能,可以简化XML与JavaBean之间的转换。 在实际开发中,根据项目需求和性能考虑,可以选择合适的方法进行XML与...
在Java开发中,Apache Commons BeanUtils库是一个非常实用的工具,它提供了许多便捷的方法来处理JavaBean对象,包括属性的复制、设置和获取等。然而,就像标题所指出的,“使用BeanUtils操作属性的一个小坑”,在...
3. **Dozer JavaBean转换**:Dozer是一个强大的Java对象到Java对象(O-O-Mapping)映射库。在数据转换过程中,Dozer可以帮助将一个对象模型转换为另一个,使得不同数据模型间的通信变得容易。这对于数据整合和跨系统...
8. **替代品和扩展**: 随着Java生态的发展,其他库如Dozer、ModelMapper等提供了更高级的属性映射和转换功能,但BeanUtils仍然因其简单易用和广泛支持而在许多项目中被使用。 通过下载并查看这个压缩包中的所有版本...
javabean 实体类与实体类之间的快速转换可以使用 Dozer 工具。Dozer 是一个能把实体和实体之间进行转换的工具。只要建立好映射关系,就像 ORM 的数据库和实体映射一样。使用 Dozer 可以快速实现实体类之间的转换。 ...