BeanUtils.copyProperties(),beanutils.copyproperties属性值丢失
00-1010 bean utils . copy properties复制对象的结果为空。原因是正确的包装。这两个类的区别在于beanutils.copyproperties无法复制。解决的具体原因如下。
00-1010仔细对比才发现是包错了。
目录
导入org . spring framework . beans . bean utils;
BeanUtils.copyProperties复制对象结果为空原因
导入org . Apache.commons . bean utils . bean utils;
00-1010 copy properties方法参数的位置不同。org。spring framework . beans . bean utils : copy properties(source demo,Targetdemo) org。Apache.commons . Bean utils . Bean utils :复制属性(targetdemo,sourcedemo)要求两个Bean的属性名相同,并且有对应的setXxx方法和getXxx方法。实际上,底层原理是使用sourceDemo的getXxx方法和targetDemo的setXxx方法。sourceDemo有而targetDemo没有的属性不会封装到targetDemo对象中。targetDemo有而sourceDemo没有的属性会封装在targetDemo中,数据为默认值(注意基本类型的默认值与引用类型的默认值不同)。类型转换问题:基本类型和其对应的封装类型可以相互转换。Org。Spring框架。豆子。Beanutils和org。阿帕奇。公地。Beanutils。Beanutils是对字符串和日期类型转换的不同总结:只需要把两个对象换到其他地方就可以了。
00-1010使用BeanUtils时,会先引用对应的包,但如果包引用错误,则使用beanutils.copyproperties(对象value1,对象value2)复制数据,可能是value1复制到value 2;也有可能将值2复制到值1上。
00-1010包org.apache.commons.beans.beans,那么结果是:
将value2复制到value1,即value2的值将在value1上被覆盖;包裹。springframework.beans.beans,那么结果是:
1被复制到value2,即value1的值将在value2上被覆盖。以上个人经验,希望能给大家一个参考,也希望大家能支持盛行的IT。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。