BeanUtils.copyProperties拷贝失败的坑集合
一切皆有因果,这个失败的原因绝不会是平白出现的。在做项目的时候,我是因为copy失败后,因为赶进度并没有深入了解,就自己写了个copy的方法,其实重写的话可能更好,现在复盘下,我来深入查下原因。
百度了些观点,然后代码中进行相应的测试。
1 、 getter,setter 的原因
查看自己的代码,并没有问题,所以继续寻找原因
2、 两个包的搞混
Java - BeanUtils.copyProperties拷贝没成功的坑,记录解决原因!
文档观点:
在使用BeanUtils时,会先引用对应的包,但是如果包引用不对的话,那么使用BeanUtils.copyProperties(Object value1, Object value2)进行数据拷贝,可能是value1拷贝到value2上;也有可能是value2拷贝到value1上。导致的原因,我进行了测试,先是改了springframe框架自带的。然后改了apache的common的,然后经过测试,确实可能是有这个顺序的原因。
然后是都是可以实现copy的,可能自己那时操作失误的。apache下的是需要自己手动抛出异常的,顺序不同。
代码:
apache.commons.beanUtisl.BeanUtils
springFrameWork
BeanUtils.copyProperties拷贝失败原因
然后也有看了以上这篇文档的,然后他的观点是apache下的那个不能用,无效,我试了下确实是可以用的。