查了下关于他们的区别:BeanUtils提供对Java反射和自省API的包装。其主要目的是利用反射机制对JavaBean的属性进行处理。JavaBean中通常包含了大量的属性,对JavaBean的处理会大量get/set代码,增加了代码长度,有时候在sql查询操作等要来回赋值。BeanUtils是这个包里比较常用的一个工具类,它的copyProperties()方法。该方法定义如下:
public static voidcopyProperties(java.lang.Object dest,java.lang.Object orig)
除BeanUtils外还有一个名为PropertyUtils的工具类,它也提供copyProperties()方法,作用与 BeanUtils的同名方法十分相似,主要的区别在于后者提供类型转换功能,即发现两个JavaBean的同名属性为不同类型时,在支持的数据类型范围内进行转换,而前者不支持这个功能,但是速度会更快一些。
java.lang.BigDecimal
java.lang.BigInteger
boolean and java.lang.Boolean
byte and java.lang.Byte
char and java.lang.Character
java.lang.Class
double and java.lang.Double
float and java.lang.Float
int and java.lang.Integer
long and java.lang.Long
short and java.lang.Short
java.lang.String
java.sql.Date
java.sql.Time
java.sql.Timestamp
java.util.Date是不被支持的,而它的子类java.sql.Date是被支持的。因此如果对象包含时间类型的属性,且希望被转换的时候,一定要使用java.sql.Date类型。否则在转换时会提示argument mistype异常
优点:方便,减少操作代码精简
缺点:性能低
参考网址: http://blog.csdn.net/itmyhome/article/details/7011656
分享到:
相关推荐
BeanUtils.copyProperties() 方法和 PropertyUtils.copyProperties() 方法的主要区别是,BeanUtils.copyProperties() 方法会进行类型转换,而 PropertyUtils.copyProperties() 方法不会。因此,BeanUtils....
在Java开发中,Apache Commons BeanUtils库是一个非常实用的工具包,它提供了许多方便的方法来操作JavaBeans。本文将深入探讨`BeanUtilsBean`对象复制的功能,特别关注它如何实现类型自动转换。`BeanUtilsBean`是...
4. **复制属性**: `BeanUtils.copyProperties()`方法可以将一个JavaBean的属性值复制到另一个JavaBean中,这在创建对象的副本或者进行对象间的数据迁移时非常有用。 5. **集合操作**: BeanUtils还支持与集合对象...
#### 二、BeanUtils.copyProperties 与 PropertyUtils.copyProperties 的用法及区别 在 Java 开发中,经常会遇到需要复制一个对象的属性到另一个对象中的情况,尤其是在处理 DTO(Data Transfer Object)、VO(View...
在标题“beanUtils, CopyProperty”中提到的`copyProperties`方法,是BeanUtils库中的核心功能之一,用于在两个JavaBean对象之间复制属性值。这个方法极大地简化了对象之间的数据拷贝,特别是当需要将一个对象的属性...
在本篇文章中,我们将深入探讨`commons-beanutils-1.7.0.jar`这个版本的库,并了解其核心功能和使用方法。 首先,Apache Commons BeanUtils库的核心特性在于它的`PropertyUtils`类。这个类提供了大量的静态方法,...
例如,我们有一个源对象`sourceBean`和目标对象`targetBean`,它们具有相同的属性结构,我们可以使用`BeanUtils.copyProperties()`方法来快速完成两个对象属性的复制: ```java try { BeanUtils.copyProperties...
例如,`BeanUtils.copyProperties()`可以将一个对象的所有属性值复制到另一个对象,而`BeanUtils.getProperty()`和`BeanUtils.setProperty()`则用于获取和设置特定属性值。 2. **类型转换**:BeanUtils还提供了自动...
2. **PropertyUtils**: 与BeanUtils类似,但提供了更多高级功能,如深度属性访问、集合操作等。 3. ** Desert**: 一个基于BeanUtils的更高级的组件,提供了类型转换、国际化支持等特性。 4. **Documentation**: 包含...
`BeanUtils.copyProperties()`方法允许我们将一个JavaBean的属性值复制到另一个JavaBean上,这对于对象克隆或者数据迁移非常有用。它可以处理复杂的数据结构,包括嵌套的JavaBean和集合。 4. **方法调用** `...
BeanUtils库还提供了对多语言环境的支持,可以与ResourceBundle结合使用,处理不同语言的属性值。 7. **自定义转换器**: 如果需要对特定类型的属性进行特殊转换,可以实现`Converter`接口并注册到BeanUtils中,...
在Struts框架中,`ActionForm`的属性通常与Java Bean对应,`execute()`方法中通过`BeanUtils.copyProperties()`可以轻松地将表单字段的值复制到对应的Java Bean对象中,如下所示: ```java public ActionForward ...
4. **Copy Properties**:BeanUtils.copyProperties()方法允许你将一个对象的所有属性值复制到另一个对象,这在对象克隆或数据模型转换中很常见。 5. **Nested Properties**:除了基本的属性操作外,BeanUtils还...
源码阅读时,我们不仅可以了解BeanUtils的基本工作流程,还可以学习到设计模式的应用,如工厂模式(用于创建Converter实例)、装饰器模式(用于增强方法的行为)以及反射和代理技术的使用。此外,通过对异常处理的...
BeanUtils的核心功能在于它的`copyProperties()`方法,它允许开发者将一个对象的属性值复制到另一个对象上。这对于数据绑定、对象拷贝或者在不同对象间传递信息非常有用。例如,如果你有一个Map对象,其中包含了键值...
本文将以`beanUtils-1.3`版本为例,深入探讨BeanUtils库的核心功能和使用方法。 首先,BeanUtils库的核心思想是通过反射机制来实现对JavaBeans的无痛操作。JavaBeans是一种遵循特定设计模式的Java类,通常包含公共...
BeanUtils还提供了`PropertyUtils.copyProperties()`方法,这是一个预防性的拷贝,它会检查目标bean是否有setter方法,避免因缺少setter而引发的异常。 8. 集合属性处理: BeanUtils可以处理集合属性,如List、Set...
使用 org.apache.commons.beanutils.PropertyUtils.copyProperties() 方法可以将一个 bean 中的属性拷贝到另一个 bean 中。这个方法的第一个参数是目标 bean,第二个参数是源 bean。这种方法的特点是: * 性能问题...
例如,`BeanUtils.copyProperties()`方法可以用来复制一个Bean的所有属性到另一个Bean,这对于数据模型的克隆或者对象状态的传递非常有用。此外,`getProperty()`和`setProperty()`方法分别用于读取和设置Bean的属性...
3. **复制属性:** `BeanUtils.copyProperties()`方法允许开发者快速地将一个对象的所有属性复制到另一个对象上,这在对象克隆或者数据模型映射时非常有用。 4. **处理集合:** BeanUtils还支持对集合类型的属性...