最近项目中在进行数据回传和存储时需要在VO和PO之间进行转换,于是对org.springframework.beans.BeanUtils
进行了一定程度的封装来满足项目的需求,比如单对单,多对多的转换,代码如下:
public class CopyUtil {
//多个实体的复制
public static <T> List<T> copyList(List source, Class<T> clazz) {
List<T> target = new ArrayList<>();
if (!CollectionUtils.isEmpty(source)){
if (!CollectionUtils.isEmpty(source)){
for (Object c: source) {
T obj = copy(c, clazz);
target.add(obj);
}
}
}
return target;
}
//单个实体之间的复制
public static <T> T copy(Object source, Class<T> clazz) {
if (source == null) {
return null;
}
T obj = null;
try {
obj = clazz.newInstance();
} catch (Exception e) {
e.printStackTrace();
}
BeanUtils.copyProperties(source, obj);
return obj;
}
}