LoginUser user = new LoginUser();
// 将data中字段相同的属性拷贝到user中
BeanUtils.copyProperties(data , user);
2. 基于Orika的字节码拷贝工具
1) pom
ma.glasnost.orika orika-core1.5.4
2)工具类 OrikaUtils
import ma.glasnost.orika.MapperFacade;
import ma.glasnost.orika.impl.DefaultMapperFactory;
import ma.glasnost.orika.metadata.TypeFactory;
import java.util.Collection;
import java.util.List;
import java.util.Set;
public class OrikaUtils {
private OrikaUtils() {}
//单例模式(懒汉式、线程安全)
private static class Builder{
//通过工厂和建造者创建MapperFacade实例
private static final MapperFacade mapper = new DefaultMapperFactory.Builder().build().getMapperFacade();
}
public static MapperFacade getMapper(){
return Builder.mapper;
}
public static D mapBean(S srcObj, Class dstClass) {
return getMapper().map(srcObj, dstClass);
}
public static List mapList(Iterable srcList, Class dstClass) {
return getMapper().mapAsList(srcList, dstClass);
}
public static List mapList(Iterable srcList, Class srcClass, Class dstClass) {
return getMapper().mapAsList(srcList, TypeFactory.valueOf(srcClass), TypeFactory.valueOf(dstClass));
}
public static Set mapSet(Iterable srcSet , Class srcClass ){
return getMapper().mapAsSet(srcSet , srcClass);
}
public static Set mapSet(Iterable srcSet , Class srcClass , Class dstClass ){
return getMapper().mapAsSet(srcSet , TypeFactory.valueOf(srcClass) , TypeFactory.valueOf(dstClass));
}
public static D[] mapArray(D[] destination, Iterable source, Class destinationClass){
return getMapper().mapAsArray(destination , source , destinationClass);
}
public static D[] mapArray(D[] destination, S[] source, Class destinationClass){
return getMapper().mapAsArray(destination , source , destinationClass);
}
public static void mapCollection(Iterable source, Collection destination, Class destinationClass){
getMapper().mapAsCollection(source,destination,destinationClass);
}
public static void mapCollection(Iterable source, Collection destination, Class sourceClass, Class destinationClass){
getMapper().mapAsCollection(source,destination, TypeFactory.valueOf(sourceClass) , TypeFactory.valueOf(destinationClass));
}
}



