Dozer简单使用

本文介绍了Dozer的简易封装工具类,如何引入pom,配置dozer配置文件,以及在SpringMVC中的具体配置和使用方法。利用Dozer可以避免大量getter/setter,提高代码可读性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 1.简易封装工具类

package com.jianlejun.util;
import java.util.ArrayList;
import java.util.Collection;  
import java.util.Iterator;  
import java.util.List;  
import org.dozer.DozerBeanMapper;  

public class BeanMapper {
	 private static DozerBeanMapper dozer = new DozerBeanMapper();  
	  
	  /** 
	  * 构造新的destinationClass实例对象,通过source对象中的字段内容 
	  * 映射到destinationClass实例对象中,并返回新的destinationClass实例对象。 
	  *  
	  * @param source 源数据对象 
	  * @param destinationClass 要构造新的实例对象Class 
	  */  
	  public static <T> T map(Object source, Class<T> destinationClass)  
	  {  
	    return dozer.map(source, destinationClass);  
	  }  
	    
	    
	  
	  public static <T> List<T> mapList(Collection sourceList, Class<T> destinationClass)  
	  {  
	    //List destinationList = Lists.newArrayList(); 
		List destinationList = new ArrayList(); 
	    for (Iterator i$ = sourceList.iterator(); i$.hasNext(); ) { Object sourceObject = i$.next();  
	      Object destinationObject = dozer.map(sourceObject, destinationClass);  
	      destinationList.add(destinationObject);  
	    }  
	    return destinationList;  
	  }  
	  
	    
	  /** 
	  * 将对象source的所有属性值拷贝到对象destination中. 
	  *  
	  * @param source 对象source 
	  * @param destination 对象destination 
	  */  
	  public static void copy(Object source, Object destinationObject)  
	  {  
	    dozer.map(source, destinationObject);  
	  }  
}

 2.引入pom

<dependency>
  <groupId>net.sf.dozer</groupId>
  <artifactId>dozer</artifactId>
  <version>5.4.0</version>
</dependency>

3.配置dozer配置文件

3.1 路径

 3.2 dozer配置文件

<?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">  
<!-- 个性化配置请参考dozer官方文档-->
</mappings>

 4.springmvc中配置dozer

<bean id="mapper" class="org.dozer.spring.DozerBeanMapperFactoryBean">
	    <property name="mappingFiles">
	      <list>
	        <value>classpath*:dozer/dozer-mapping.xml</value>
	      </list>
	    </property>
	 </bean>

5.使用

People p = BeanMapper.map(obj, People.class);

6.总结

使用dozer避免了繁缛的getter/setter,尤其是在成员变量繁多的情况,使得代码整体可读性大大增加,官方:http://dozer.sourceforge.net

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值