◉◡◉ 您好,欢迎到访伊成个人站!

BeanUtils.copyProperties()用法及区别

本文于640天之前发表,文中内容可能已经过时。

“BeanUtils.copyProperties()用法及区别”

BeanUtils简述

BeanUtils提供对Java反射和自省API的包装。其主要目的是利用反射机制对JavaBean的属性进行处理。如果一个JavaBean通常包含了大量的属性,很多情况下,对JavaBean的处理导致大量get/set代码堆积,增加了代码长度和阅读代码的难度。

BeanUtils.copyProperties() 用法

这两个类在不同的包下面,而这两个类的copyProperties()方法里面传递的参数赋值是相反的。详细的看下文描述:

例如: a,b为对象 BeanUtils.copyProperties(a, b);

在org.springframework.beans.BeanUtils里面

结果为:a拷贝到b
看内部方法定义代码:

1
2
3
4
5
public static void copyProperties(Object source, Object target)
throws BeansException
{
copyProperties(source, target, null, (String[])null);
}

tips : source 源文件,target 目标文件

在org.apache.commons.beanutils.BeanUtils里面

结果为:b拷贝到a
看内部方法定义代码:

1
2
3
4
5
public static void copyProperties(Object dest, Object orig)
throws IllegalAccessException, InvocationTargetException
{
BeanUtilsBean.getInstance().copyProperties(dest, orig);
}

tips: dest(英译:“蒸馏”,可理解为空白文件,目标文件),original原始的,源文件。

由以上得知,引用包出处不一样,意思就不一样,使用时需要注意的是哪个包下面的。

支付宝打赏 微信打赏