1.BeanUtils它以字符串的形式对javabean进行转换,而PropertyUtils是以原本的类型对javabean进行操作, 如果类型不对,就会有argument type mismatch异常。
2.PropertyUtils.getPropety方法获得的属性值的类型为该属性本来的类型,而BeanUtils.getProperty则是将该属性的值转换成字符串后才返回。
3.BeanUtils 不允许对象的属性值为 null (基本类型对应的包装类可),PropertyUtils 可以拷贝属性值 null 的对象。
4.如果对象属性值为 null,BeanUtils.copyProperties 方法会报 commons.beanutils.ConversionException: No value specified 错误;
5.但当Ineger、Boolean、Long等基本类型包装类为null时,会将值复制后转换成0 或 false。
Beanutils提供类型转换功能,在支持的数据类型范围内进行转换。
另外:
BeanUtils.copyProperty()方法,是通过属性对应的setXxx()方法来进行注入的。也就是说,可以在setXxx()方法处进行数据的校验。