BeanUtils的忽略字段工具类

简介: BeanUtils的忽略字段工具类

使用BeanUtils.copyProperties的时候有些字段为null,但是仍然把目标对象的对应value给复制成了null,解决办法忽略那些为null的字段

方案1,指定那些需要忽略的字段

这里网上找了一通,都是大致的思路

利用copyProperties(Object source, Object target, String... ignoreProperties)

这个方法,把需要忽略的字段传入进去

附上获取对应需要的属性名的数组的方法

import org.springframework.beans.BeanWrapper;
import org.springframework.beans.BeanWrapperImpl;
import java.beans.PropertyDescriptor;
import java.util.*;
public String[] getNullPropertyNames (Object source) {
    final BeanWrapper src = new BeanWrapperImpl(source);
    PropertyDescriptor[] pds = src.getPropertyDescriptors();
    Set<String> emptyNames = new HashSet<String>();
    for(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);
}

目录
相关文章
|
Java Spring
解决Spring工具类BeanUtils copyProperties方法复制null的问题
解决Spring工具类BeanUtils copyProperties方法复制null的问题
911 0
|
5月前
|
前端开发 Java 数据处理
BeanUtils.copyProperties的用法
BeanUtils.copyProperties的用法
|
5月前
|
Java Apache
BeanUtils.copyProperties()用法总结
BeanUtils.copyProperties()用法总结
|
6月前
|
Java 数据库连接
Hibernate中使用Criteria查询及注解——(DeptTest.java)
Hibernate中使用Criteria查询及注解——(DeptTest.java)
|
6月前
|
Java
Java中的Map如何转实体类对象【附工具类相关方法】
Java中的Map如何转实体类对象【附工具类相关方法】
349 0
|
Java API
BeanUtils.copyProperties(A,B)字段复制
BeanUtils.copyProperties(A,B)字段复制
89 0
|
缓存 安全 Java
SpringSecurity——HttpSecurity常用方法
SpringSecurity——HttpSecurity常用方法
1336 0
SpringSecurity——HttpSecurity常用方法
StringUtils工具类常用方法
import org.apache.commons.lang.StringUtils;StringUtils工具类常用方法
100 0