利用Dozer实现vo-Entiy-Model中属性的复用

Posted 陈晓婵

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用Dozer实现vo-Entiy-Model中属性的复用相关的知识,希望对你有一定的参考价值。

1.背景描述

        将entity中的属性,赋值给model,或者是vo.这样如果用之前的一个个的**entity.setId(**model.getId)这样的方法,将各个属性赋值会特别麻烦.所以封装了BeanMapperUtil这个类.一共两个方法,一个方法是map(返回entity),一个是mapList(返回List<entity>).


2.代码实现

package com.dmsdbj.itoo.examinationEvaluation.util;

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

/**
  * Created by chenxiaochan on 2017/7/17.
  */

public class BeanMapperUtil 
	private static DozerBeanMapper dozer = new DozerBeanMapper();

	public static <T> T map(Object sourceObject, Class<T> destObjectclazz) 
		return sourceObject == null ? null : dozer.map(sourceObject, destObjectclazz);
	

	public static <T, S> List<T> mapList(Collection<S> sourceList, Class<T> destObjectclazz) 
		if (sourceList == null) 
			return null;
		
		List<T> destinationList = new ArrayList<T>();
		for (Iterator<S> it = sourceList.iterator(); it.hasNext();) 
			destinationList.add(map(it.next(), destObjectclazz));
		
		return destinationList;
	

需要在pom文件中添加的jar包

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



以上是关于利用Dozer实现vo-Entiy-Model中属性的复用的主要内容,如果未能解决你的问题,请参考以下文章

Dozer 实现对象间属性复制

对象的克隆,Dozer的使用

dozer 简单用法

Dozer-对象属性映射工具类

Dozer:如何限制映射的深度?

dozer