<dependency>
<groupId>asm</groupId>
<artifactId>asm</artifactId>
<version>3.3.1</version>
</dependency>
<dependency>
<groupId>asm</groupId>
<artifactId>asm-commons</artifactId>
<version>3.3.1</version>
</dependency>
<dependency>
<groupId>asm</groupId>
<artifactId>asm-util</artifactId>
<version>3.3.1</version>
</dependency>
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib-nodep</artifactId>
<version>2.2.2</version>
</dependency>
Maven如上、
工具类
import net.sf.cglib.beans.BeanCopier;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 工具类copyBean
* 作者:十六
* 类描述:高效的BeanCopy工具类
*/
public class BeanUtils {
/**
*
*/
public static Map<String, BeanCopier> beanCopierMap = new HashMap<>();
/**
* @Title: copyProperties
* @Description: TODO(bean属性转换)
* @param source 资源类
* @param target 目标类
*/
public static void copyProperties(Object source,Object target){
BeanCopier copier = generateKey(source.getClass(),target.getClass());
copier.copy(source, target, null);
}
/**
* 暂未封装好
*/
/*public static void copyList(List<Object> sourceList, List<Object> targetList){
if (sourceList == null || sourceList.size() == 0){
return;
}
for (Object obj :sourceList) {
Object tarObj = new Object();
copyProperties(obj, tarObj);
targetList.add(tarObj);
}
}*/
private static BeanCopier generateKey(Class<?>class1,Class<?>class2){
String beanKey = class1.toString() + class2.toString();
BeanCopier copier = null;
if (!beanCopierMap.containsKey(beanKey)) {
copier = BeanCopier.create(class1.getClass(), class2.getClass(), false);
beanCopierMap.put(beanKey, copier);
}else {
copier = beanCopierMap.get(beanKey);
}
return copier;
}
}