如何实现beanutils.copyproperties不复制某些字段?

fmpoffice 发布于 2016/05/04 15:30
阅读 3K+
收藏 0

beanutils.copyproperties不复制某些字段?

BeanUtils.copyProperties(information, informationData);

information里面的myclss不需要复制过去,那应该怎么操作呢?

加载中
1
范老司
范老司
/**
 * 复制属性,过滤掉不复制的属性
 */
public static void copyBeanProperties(

    final Object source,//1,待复制的原始对象
    final Object target,//2,复制后的结果对象

    //3,获取保存你不需要复制的属性名
    final Collection<String> excludes = new ArrayList<String>();
    final PropertyDescriptor[] propertyDescriptors = BeanUtils.getPropertyDescriptors(source.getClass());
    for(final PropertyDescriptor propertyDescriptor : propertyDescriptors){
        String propName = propertyDescriptor.getName();
        if(!includes.contains(propName)){
            excludes.add(propName);
        }
    }

    //4,复制操作
    BeanUtils.copyProperties(source, target, excludes.toArray(new String[excludes.size()]));
}
1
孙亮
孙亮


BeanUtils.copyProperties 方法里有忽略掉的属性。直接写在对应的位置就可以了啊

例如:BeanUtils.copyProperties(product, pProduct, new String[] { "id", "createDate", "modifyDate" });

1
fmpoffice
fmpoffice

引用来自“孙亮”的评论


BeanUtils.copyProperties 方法里有忽略掉的属性。直接写在对应的位置就可以了啊

例如:BeanUtils.copyProperties(product, pProduct, new String[] { "id", "createDate", "modifyDate" });

谢谢,好的。
返回顶部
顶部