两个类在不同的包下面,而这两个类的copyProperties()方法里面传递的参数赋值是相反的。
org.apache.commons.beanutils.BeanUtils#copyProperties方法会进行类型转换,默认情况下会将Ineger、Boolean、Long等基本类型包装类为null时的值复制后转换成0或者false,有时这个可能会引起不必要的麻烦。
而org.springframework.beans.BeanUtils.copyProperties(bookDto, book);则不会!
例如:
a,b为对象
BeanUtils.copyProperties(a, b);
1.BeanUtils是org.springframework.beans.BeanUtils, a拷贝到b
public static void copyProperties(Object source, Object target)//source 源文件,target 目标文件
throws BeansException
{
copyProperties(source, target, null, (String[])null);
}
2.BeanUtils是org.apache.commons.beanutils.BeanUtils,b拷贝到a
public static void copyProperties(Object dest, Object orig)//dest(目标文件),original原始的,源文件
throws IllegalAccessException, InvocationTargetException
{
BeanUtilsBean.getInstance().copyProperties(dest, orig);
}