他们的copyProperties方法行为不太一样.
------------------------------------------------------------------------
值为null的属性类型 BeanUtils拷贝的值 PropertyUtils拷贝的值
------------------------------------------------------------------------
java.lang.Double 0.0 null
java.lang.Integer 0 null
java.lang.Long 0 null
java.sql.Date 抛异常 null
java.util.Date null null
java.sql.Timestamp 抛异常 null
看来还是PropertyUtils.copyProperties(Object dest, Object orig)原汁源味。
BeanUtils的妙处在于可以把String类型的'2011-01-02'转换为java.util.Date类型,所以这个方法在Struts1中收集浏览器表单数据转换为form bean时是非常重要的。
分享到:
相关推荐
与BeanUtils相比,PropertyUtils提供了更精确的异常处理。尽管在功能上有所增强,但在性能上与BeanUtils相差不大。 Spring框架中的BeanUtils继承自Apache BeanUtils,并进行了扩展,增加了对SpEL表达式的支持。...
`getProperty()`和`setProperty()`方法展示了如何通过反射和PropertyDescriptor类直接访问和修改属性,而BeanUtils和PropertyUtils的使用则更加简洁。 总之,JavaBean和BeanUtils工具类的结合使用极大地提高了代码...
与 BeanUtils 类似,Apache Commons BeanUtils 包还提供了一个名为 PropertyUtils 的工具类,它同样提供了 `copyProperties` 方法。这个方法的主要优势是在处理属性类型不一致时能够自动进行类型转换。例如,如果 `...
BeanUtils的`PropertyUtils`类中的`convertType()`方法能够自动将一个对象转换为指定的目标类型,这大大提高了代码的灵活性和可维护性。 此外,BeanUtils库还支持属性的动态设置和获取。`PropertyUtils.getProperty...
- `org.apache.commons.beanutils.PropertyUtils`: 这个类进一步扩展了BeanUtils的功能,提供了更细致的属性操作,如集合属性的处理。 - `org.apache.commons.beanutils.Converter`: 这是用于类型转换的接口,用户...
《Apache Commons BeanUtils 1.8.0:深入解析与应用》 Apache Commons BeanUtils库是Java开发中不可或缺的一部分,尤其对于那些频繁处理JavaBeans属性的开发者来说。它提供了便捷的方式来操作Java对象的属性,极大...
《Apache Commons BeanUtils库详解与应用》 Apache Commons BeanUtils是Java开发中广泛使用的开源工具库,主要用于处理JavaBean对象的属性操作。该库提供了一系列便捷的方法,使得开发者可以更简单地读取、设置...
- **类型转换**:BeanUtils具备自动类型转换的能力,当设置的属性值类型与属性期望类型不匹配时,会尝试进行类型转换。 - **对象拷贝**:`copyProperties()`方法用于将一个对象的所有属性值复制到另一个对象,极大...
例如,`PropertyUtils`类提供了对Bean的动态属性访问,即使在运行时不知道属性名的情况下也能进行操作。这在处理动态配置或者元数据时十分实用。 除了基本的get和set操作,BeanUtils还提供了一些高级特性。比如,`...
5. **集合操作**: BeanUtils还支持与集合对象(如List、Set和Map)的交互,提供了将集合转换为数组或反之亦然的功能,以及将集合元素映射到JavaBean的属性上。 6. **版本历史**: - **1.0**: 初始版本,引入基本的...
《BeanUtils-jar包:JavaBean操作的利器》 在Java开发中,BeanUtils-jar包扮演着重要的角色,它是Apache Commons项目中的一个模块,主要为开发者提供了方便、高效的JavaBean操作工具。这个jar包的核心功能是简化了...
1. **属性操作**:使用`PropertyUtils`类,可以方便地读取和设置JavaBean的任何属性,即使属性是嵌套的或者需要转换类型。 2. **复制属性**:`BeanUtils.copyProperties()`方法可以将一个对象的所有属性值复制到另...
在实际项目中,Apache Commons BeanUtils库通常与其他Apache Commons库结合使用,如Collections、IO等,以提供更全面的工具集。它的使用能够大大提高开发效率,减少代码重复,使得代码更加专注于业务逻辑,而不是...
3. **类型转换**:BeanUtils内部使用了`PropertyUtils`类来处理属性的类型转换,当源对象和目标对象的属性类型不一致时,它会尝试进行自动类型转换。然而,这种转换并不总是成功,对于一些复杂类型的转换,可能需要...
9. **Integration with Other Commons Libraries**:Apache Commons BeanUtils与其他Apache Commons库(如Collections、Lang等)兼容,可以一起使用以实现更强大的功能,如集合操作、日期处理等。 10. **Version ...
2. **核心类分析**:重点关注`org.apache.commons.beanutils`包下的类,如`BeanUtils`、`PropertyUtils`和`ConvertUtils`等,理解它们的功能和实现方式。 3. **反射机制的运用**:深入`java.lang.reflect`包,研究...
Apache Commons BeanUtils是Java开发中的一个实用工具库,主要用于简化对象属性的操作,它与JavaBeans组件一起使用,提供了大量的便利方法。"beanutils-1.8.3" 是该库的一个版本,它包含了1.8.3版的API文档和源代码...
1. **PropertyUtils**: 这是BeanUtils库中最核心的部分,提供了对JavaBean属性操作的一系列静态方法。如`getProperty()`用于获取属性值,`setProperty()`用于设置属性值,以及`describe()`用于获取JavaBean的所有...