copy():源dx与目标dx间复制
//源dx(查DB完的对象)一些域,拷贝到目标dx(DTO)的一些域上,后返回目标dx
public static <T> T copy(Object source, Class<T> targetClass) {
return copy(source, targetClass, null);
}
public static <T> T copy(Object source, Class<T> targetClass, Converter converter) {
//得目标dx构造器,创建目标dx
final T target = ReflectUtil.newInstanceIfPossible(targetClass);
copy(source, target, converter);
return target;
}
/**
* 拷贝Bean对象属性
*/
public static void copy(Object source, Object target, Converter converter) {
Assert.notNull(source, "Source bean must be not null.");
Assert.notNull(target, "Target bean must be not null.");
final Class<?> sourceClass = source.getClass();
final Class<?> targetClass = target.getClass();
//得源dx与目标dx的BeanCopier
final BeanCopier beanCopier = BeanCopierCache.INSTANCE.get(sourceClass, targetClass, converter);
//源dx→目标dx复制
beanCopier.copy(source, target, converter);
}