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

问题:如何实现beanutils.copyproperties不复制某些字段?
 
描述:
beanutils.copyproperties不复制某些字段?
BeanUtils.copyProperties(information, informationData);
information里面的myclss不需要复制过去,那应该怎么操作呢?

解决方案1:
 

引用来自“孙亮”的评论

 
BeanUtils.copyProperties 方法里有忽略掉的属性。直接写在对应的位置就可以了啊。
例如:BeanUtils.copyProperties(product, pProduct, new String[] { "id", "createDate", "modifyDate" });
解决方案2:
 
BeanUtils.copyProperties 方法里有忽略掉的属性。直接写在对应的位置就可以了啊。
例如:BeanUtils.copyProperties(product, pProduct, new String[] { "id", "createDate", "modifyDate" });
解决方案3:
/**
 * 复制属性,过滤掉不复制的属性
 */
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()]));
}
 
本文网址链接:http://www.codes51.com/itwd/1168292.html
posted @ 2018-04-11 18:42  像艳遇一样忧伤c  阅读(2582)  评论(0编辑  收藏  举报