BeanUtils.copyProperties大坑
两个不同的包(springframework , apache)中有一个相同名字的类,相同的方法,方法的作用相同,参数个数相同。就是参数位置不同,是相反的。?
import org.springframework.beans.BeanUtils;
import org.apache.commons.beanutils.BeanUtils
BeanUtils.copyProperties() 用法及区别
这两天做项目,用到了BeanUtils.copyProperties()
这个方法,而在两个不同的类中使用到这个方法,但不知怎么的,就是有一个对象服务发copy另外个对象,最后排查终于找到原因。
因为两个类引入了两个不同的BeanUtils类
一个为
org.springframework.beans.BeanUtils
另一个是
org.apache.commons.beanutils.BeanUtils
这两个类在不同的包下面,而这两个类的copyProperties()
方法里面传递的参数赋值是相反的。
例如
a,b为对象
BeanUtils.copyProperties(a, b);
BeanUtils
是org.springframework.beans.BeanUtils
, a拷贝到bBeanUtils
是org.apache.commons.beanutils.BeanUtils
,b拷贝到a
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。