问题:如何实现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 excludes = new ArrayList();
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