美文网首页
Spring的BeanUtils总结

Spring的BeanUtils总结

作者: IceBear_9f3b | 来源:发表于2020-07-25 09:41 被阅读0次

    问题描述: 在使用BeanUtils.copyProperties时出现IllegalArgumentException异常

    问题原因: 在使用Spring的BeanUtils的copyProperties方法时,目标对象和源对象的属性类型都要相同,或者是对应的基本类型和包装类型,如果源对象有个字段名称为a的类型是包装类 Integer,而目标对象的名称为a的属性是基本类型int,并且源对象的a属性的值为null,那么就会出现以下异常

    BeanUtils.copyProperties执行过程

    1.getPropertyDescriptors拿到目标对象的所有字段

    2.遍历目标字段的所有字段, getWriteMethod拿到字段的set方法

    3.通过字段名获取源对象是否有该字段

    4.再通过getReadMethod去拿源对象的get方法

    5.如果目标源字段和目标字段相同类型,或者二者是对应的基本类型和包装类型,并且对字段的get/ set方法都是公共方法,就将源对象get的值通过目标对象的set进行赋值.

    在使用BeanUtils.copyProperties一定要注意对象类型要匹配,如果源对象和目标对象类型不相同,那么就要注意空值,可能会出现一些异常。

    相关文章

      网友评论

          本文标题:Spring的BeanUtils总结

          本文链接:https://www.haomeiwen.com/subject/xtlplktx.html