工具类
package com.jiayou.peis.common.core.util;import org.springframework.beans.BeanUtils;
import org.springframework.beans.BeanWrapper;
import org.springframework.beans.BeanWrapperImpl;import java.util.HashSet;
import java.util.Set;
public class MyBeanUtils extends org.springframework.beans.BeanUtils{private static String[] getNullPropertyNames (Object source) {final BeanWrapper src = new BeanWrapperImpl(source);java.beans.PropertyDescriptor[] pds = src.getPropertyDescriptors();Set<String> emptyNames = new HashSet<>();for(java.beans.PropertyDescriptor pd : pds) {Object srcValue = src.getPropertyValue(pd.getName());if (srcValue == null||"".equals(srcValue)){emptyNames.add(pd.getName());}}String[] result = new String[emptyNames.size()];return emptyNames.toArray(result);}public static void copyPropertiesIgnoreNull(Object src, Object target){BeanUtils.copyProperties(src, target, getNullPropertyNames(src));}public static void main(String[] args) {Student source=new Student();source.setName("李四");source.setAge(30);source.setSex("男");source.setNation(null);Student target=new Student();target.setName("晓芳");target.setAge(20);target.setSex("女");target.setNation("苗族");copyPropertiesIgnoreNull(source,target);System.out.println(target);copyProperties(source,target);System.out.println(target);}
}
Sudent.java
package com.jiayou.peis.common.core.util;import lombok.Data;@Data
public class Student {private String name;private Integer age;private String sex;private String nation;
}