这两天做项目,用到了BeanUtils.copyProperties()这个方法,而在两个不同的类中使用到这个方法,但不知怎么的,copy属性总是出问题,最后排查终于找到原因。
BeanUtils.copyProperties(productInfo,orderDetail); //把属性拷贝过来
有两个类中包含有BeanUtils
,且都有copyProperties
方法,一个类为org.springframework.beans.BeanUtils
,另一个是org.apache.commons.beanutils.BeanUtils
,这两个类在不同的包下面,而这两个类的copyProperties()
方法里面传递的参数赋值是相反的。
例如:
productInfo
,orderDetail
为两对象
BeanUtils.copyProperties(productInfo,orderDetail);
若BeanUtils
是org.springframework.beans.BeanUtils
,则是将productInfo
中的属性拷贝到orderDetail
;
若BeanUtils
是org.apache.commons.beanutils.BeanUtils
,则是将orderDetail
中的属性拷贝到productInfo
.