在Java对象的拷贝过程中,Apache的BeanUtils对日期的支持不是很好,但有扩展,大家可以找到它的日期转换器,注册进去就ok了
创建BeanUtils的子类,把日期转换器注册进去,以后用这个子类来copy对象:
public class BeanUtilEx extends BeanUtils {
private static Map cache = new HashMap();
private static Log logger = LogFactory.getFactory().getInstance(BeanUtilEx.class);
private BeanUtilEx() {
}
static {
// 注册sql.date的转换器,即允许BeanUtils.copyProperties时的源目标的sql类型的值允许为空
ConvertUtils.register(new org.apache.commons.beanutils.converters.SqlDateConverter(null), java.sql.Date.class);
ConvertUtils.register(new org.apache.commons.beanutils.converters.SqlDateConverter(null), java.util.Date.class);
ConvertUtils.register(new org.apache.commons.beanutils.converters.SqlTimestampConverter(null), java.sql.Timestamp.class);
// 注册util.date的转换器,即允许BeanUtils.copyProperties时的源目标的util类型的值允许为空
}
public static void copyProperties(Object target, Object source)
throws InvocationTargetException, IllegalAccessException {
// 支持对日期copy
org.apache.commons.beanutils.BeanUtils.copyProperties(target, source);
}
}
分享到:
相关推荐
在Java开发中,Bean复制是一项常见的任务,尤其是在数据转换和服务层之间传递对象时。这篇文章将对比分析Apache BeanUtils、PropertyUtils、Spring BeanUtils以及Cglib BeanCopier这四个常用的Bean复制工具的性能和...
Apache Commons BeanUtils是Apache软件基金会的一个开源项目,它提供了一组实用工具类,用于简化JavaBean对象的操作。这个库的核心是`org.apache.commons.beanutils`包,其中包含了大量的辅助方法,使得开发者可以...
在Java开发中,BeanUtils库极大地提高了开发效率,尤其是在处理对象属性的设置、获取以及复制等方面。以下是对Apache BeanUtils核心功能的详细介绍: 1. 属性自动封装与解封: BeanUtils库的主要功能之一就是自动将...
总之,Apache Commons BeanUtils库中的`BeanUtilsBean`提供了一种强大的工具,用于在JavaBeans之间进行属性复制,包括自动类型转换,极大地简化了开发过程。理解和熟练掌握`BeanUtilsBean`的使用,对于提升Java开发...
6. **异常处理**:当访问不存在的属性或发生类型转换错误时,BeanUtils会抛出特定的异常,如`NoSuchMethodException`或`ConversionException`,帮助开发者快速定位问题。 7. **国际化支持**:BeanUtils可以与Apache...
1. **属性复制**:BeanUtils的核心功能之一是能够在JavaBean对象之间进行属性的复制。通过`copyProperties()`方法,可以轻松地将一个JavaBean的所有属性值复制到另一个JavaBean上,极大地减少了手动赋值的工作量。这...
- **对象拷贝**:`copyProperties()`方法用于将一个对象的所有属性值复制到另一个对象,极大地提高了开发效率。 2. **反射机制的运用** - BeanUtils的核心是Java的反射API,它通过反射获取和设置JavaBean的属性,...
5. **拷贝属性**:`BeanUtils.copyProperties()`方法可以实现对象间的属性深度拷贝,这对于创建对象副本或者在不同对象间传递数据十分便利。 6. **避免空指针异常**:BeanUtils库在处理null值时会进行保护,避免因...
总的来说,Apache BeanUtils库的`copyProperties`方法是Java开发中一个实用的工具,它可以显著提高代码的可读性和简洁性,尤其在处理JavaBean对象属性拷贝时。然而,理解它的内在工作原理和潜在限制同样非常重要,...
1. **属性拷贝**:`BeanUtils.copyProperties()`方法可以方便地将一个对象的属性值复制到另一个对象,大大简化了对象间的属性映射。 2. **属性访问**:`PropertyUtils`类提供了对Java对象属性的无反射访问,可以...
`BeanUtils.copyProperties()`方法允许我们将一个JavaBean的属性值复制到另一个JavaBean上,这对于对象克隆或者数据迁移非常有用。它可以处理复杂的数据结构,包括嵌套的JavaBean和集合。 4. **方法调用** `...
` 这行代码是Apache Commons BeanUtils库中的核心方法之一,用于实现对象间属性的深度复制。它将源对象`orgi`的所有公开可读的属性值复制到目标对象`dest`中。这种方法在需要复制或克隆对象时非常有用,尤其是当两个...
- **转换器(Converters)**:BeanUtils内建了一套转换机制,可以自动将一种数据类型转换为另一种,如将字符串转换为整数或日期等。 - **复制属性**:`copyProperties()`方法可以将一个JavaBean对象的属性值复制到...
- 数据持久化:在对象持久化过程中,BeanUtils的属性复制功能可以简化数据模型与数据库记录之间的转换。 然而,使用BeanUtils时也需要注意一些问题: - 性能:由于依赖于反射,频繁使用BeanUtils可能导致性能损耗...
例如,通过`BeanUtils.copyProperties()`方法,可以方便地将一个对象的属性值复制到另一个对象,极大地提高了代码的可读性和维护性。 2. **类型转换**:BeanUtils库能够自动处理基本数据类型的转换,如将字符串转换...
Apache Commons BeanUtils是Java开发中的一个实用工具库,主要用于处理JavaBeans对象,简化对JavaBean属性的操作。这个库提供了一套方便的API,使得开发者可以通过简单的API调用来获取、设置JavaBean的属性,甚至...
BeanUtils的核心功能在于提供了一种便捷的方式来复制一个对象的属性到另一个对象,即使这两个对象的属性名称不同,只要类型匹配,BeanUtils就能自动进行转换。此外,它还支持属性的批量设置和获取,以及基于表达式的...
在实际开发中,Apache Commons BeanUtils被广泛应用于数据绑定、对象初始化、对象复制等场景。例如,在Web开发中,它可以将HTTP请求参数自动绑定到JavaBean,减少手动赋值的工作;在数据持久化中,它可以帮助将...
BeanUtils的核心功能在于属性的自动类型转换和封装,它能够自动处理JavaBeans对象之间的属性拷贝,即使源对象和目标对象的属性类型不完全匹配,BeanUtils也能尝试进行类型转换。例如,将字符串转换为整型或浮点型,...
BeanUtils工具.jar包是Apache Commons项目中的一个核心组件,它为Java开发人员提供了一套方便的工具类,用于处理Java Bean对象之间的属性复制、类型转换等常见操作。这个库简化了对象模型之间的数据绑定,特别是在...