package com.shlanbao.tzsc.utils.tools;
|
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanWrapper;
|
import org.springframework.beans.BeanWrapperImpl;
|
import org.springframework.stereotype.Component;
|
|
import java.util.HashSet;
|
import java.util.Set;
|
|
public class CopyUtils {
|
public static String[] getNullPropertyNames (Object source) {
|
final BeanWrapper src = new BeanWrapperImpl(source);
|
java.beans.PropertyDescriptor[] pds = src.getPropertyDescriptors();
|
|
Set<String> emptyNames = new HashSet<String>();
|
for(java.beans.PropertyDescriptor pd : pds) {
|
Object srcValue = src.getPropertyValue(pd.getName());
|
if (srcValue == null) emptyNames.add(pd.getName());
|
}
|
String[] result = new String[emptyNames.size()];
|
return emptyNames.toArray(result);
|
}
|
|
/**
|
* @Description: 从src赋值属性到target,忽略null属性
|
* @Param: [src, target]
|
* @return: void
|
* @Author: sunzhen
|
* @Date: 2019/10/21
|
*/
|
public static void copyProperties(Object src, Object target) {
|
BeanUtils.copyProperties(src, target, getNullPropertyNames(src));
|
}
|
}
|