1、注入vo依赖

<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
</dependency>

2、封装实体copy方法

import java.lang.reflect.Field;

import org.apache.commons.beanutils.BeanUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;


public class MyBeanUtils {

private static final Logger logger = LoggerFactory.getLogger(MyBeanUtils.class);

/**
* copy bean 字段
* 若是被copy bean 的字段值不为空,进行copy
* @param dest
* @param origin
*/
public static void copyProperties(Object dest, Object origin) {
try {
Field[] destFileds = dest.getClass().getDeclaredFields();
Field[] originFileds = origin.getClass().getDeclaredFields();
for(Field destField : destFileds){
destField.setAccessible(true);
String destFieldName = destField.getName();
for(Field originField : originFileds){
originField.setAccessible(true);
if(null != originField.get(origin) && !"".equals(originField.get(origin)) && !"null".equals(originField.get(origin))){
if(destField.getName().equals(originField.getName())){
BeanUtils.copyProperty(dest, destFieldName, originField.get(origin));
}
}
}
}
} catch (Exception e) {
logger.error("copy bean error", e);
e.printStackTrace();
}
}
}

3、使用

MyBeanUtils.copyProperties(obj1,obj2);
//obj1 被赋值的实体
//obj2 去赋值的实体