首页 > 编程语言 > 解决BeanUtils.copyProperties之大坑
2022
09-20

解决BeanUtils.copyProperties之大坑

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);
  • BeanUtilsorg.springframework.beans.BeanUtils, a拷贝到b
  • BeanUtilsorg.apache.commons.beanutils.BeanUtils,b拷贝到a

以上为个人经验,希望能给大家一个参考,也希望大家多多支持自学编程网。

编程技巧