`

BeanUtils的copyProperties方法不能复制非public声明类的属性

阅读更多

这两天做的项目中,由于pojo的属性太过庞大,于是想到了使用Apache的BeanUtils方法copyProperties来帮忙复制属性值,于是先写了一个测试类

结果无论如何,复制出来的结果都是null,苦思冥想也未得果,网上到处查资料,明明复制的方法是一样的,可就是结果不如意,一直都是null。。。

最后仔细想了下,问题可能出在bean上,自己做的demo和网上的demo唯一的区别就是他们的都是public类,我的是default类。。。。。

于是把测试类中的两个bean代码复制出来,另外写了两个public的类。。。终于。。。出来了。此刻才知道原来apache的属性复制方法竟然只对public的类才起作用。。。。不过其实这并没有大碍,本来所有的form和pojo我们就都是public声明的。。。呵呵

分享到:
评论
2 楼 欣水寓言 2010-06-24  
sumaolin 写道
pojo类是private的时候也起作用啊


是类,不是属性
1 楼 sumaolin 2010-06-24  
pojo类是private的时候也起作用啊

相关推荐

    BeanMapper:比BeanUtils.copyProperties更快

    一个BeanUtils.copyProperties的小型快速替代。 起因 由于BeanUtils(Spring或Apache Commons)的copyProperties实现是利用反射实现的,它在大量调用时具有比较严重的性能问题。 BeanMapper通过javassist类库实现在...

    java Beanutils.copyProperties( )用法详解

    Java Beanutils.copyProperties() 方法是 Java 中一个非常有用的工具,主要用于将一个 JavaBean 的属性复制到另一个 JavaBean 中。今天,我们将详细介绍 Java Beanutils.copyProperties() 的用法和原理。 在 Java ...

    如何使用BeanUtils.copyProperties进行对象之间的属性赋值

    在这个`convertList2List`方法中,我们遍历输入列表(input),为每个元素创建一个新的目标对象实例(target),然后调用`BeanUtils.copyProperties`进行属性复制,最后将新对象添加到输出列表(output)。...

    BeanUtilsBean对象复制使用(类型可以自动转化)

    `BeanUtilsBean.copyProperties()`方法是实现此功能的关键,它允许我们将一个JavaBean的所有属性值复制到另一个具有相同属性的JavaBean中。 `BeanUtilsBean`的`copyProperties()`方法的工作原理如下: 1. **目标与...

    beanUtils jar 包,还包括source和doc

    // 复制属性 BeanUtils.copyProperties(destUser, srcUser); System.out.println(destUser.getName()); // 输出:John System.out.println(destUser.getAge()); // 输出:30 } } ``` 3. **源码解析** ...

    beanUtils , CopyProperty

    在标题“beanUtils, CopyProperty”中提到的`copyProperties`方法,是BeanUtils库中的核心功能之一,用于在两个JavaBean对象之间复制属性值。这个方法极大地简化了对象之间的数据拷贝,特别是当需要将一个对象的属性...

    使用BeanUtils操作属性的一个小坑

    问题在于,BeanUtils在进行属性复制时,会尝试通过反射调用getter和setter方法,如果JavaBean的属性名称与实际getter或setter方法不完全匹配,或者属性类型不兼容,就会导致异常。例如,假设我们有一个属性名为`...

    beanUtils包与源码

    在上述代码中,`User`类是我们的自定义Bean,`BeanUtils.copyProperties()`方法会将`sourceUser`的所有非null属性值复制到`targetUser`上。需要注意的是,源Bean和目标Bean的属性名必须相同,且类型兼容,否则复制将...

    commons-beanutils-1.9.4

    - **复制属性**:`copyProperties()`方法可以将一个JavaBean对象的属性值复制到另一个对象,这在处理模型对象时非常有用。 - **默认值**:当尝试获取不存在的属性或者转换失败时,可以设置默认值来避免异常。 - *...

    BeanUtils工具类

    2. **复制属性** BeanUtils还支持对象间属性的复制,这在对象模型转换或者数据绑定时非常有用。例如,将一个User对象的属性复制到另一个User对象: ```java User sourceUser = ...; User targetUser = new User...

    BeanUtils工具包

    1. **属性复制**:BeanUtils.copyProperties()方法可以将一个对象的所有属性值复制到另一个对象中,即使两个对象的类不同,只要它们有相同的属性,这个方法就能工作。这种方法在数据模型之间进行转换时非常有用。 2...

    beanutils包

    - **属性复制**:`BeanUtils.copyProperties()` 方法允许将一个JavaBean对象的属性值复制到另一个JavaBean对象中,即使两个对象的属性名不完全相同,只要属性类型兼容,`BeanUtils` 就能自动处理这种映射。...

    beanutils 的jar包

    2. **批量属性复制**:BeanUtils的`copyProperties()`方法能实现两个JavaBean之间属性的深度复制,极大地减少了代码量。只要源对象和目标对象有相同的属性,就可以轻松完成复制: ```java Person source = ...; ...

    BeanUtils所需的包

    例如,BeanUtils.copyProperties()方法允许我们快速地将一个对象的所有属性复制到另一个对象中。这在处理数据模型或业务对象的复制场景下非常有用。 在处理复杂的数据类型时,BeanUtils也提供了处理日期、数字等...

    Bean复制的几种框架性能比较(Apache BeanUtils、PropertyUtils,Spring BeanUtils,Cglib BeanCopier

    首先,Apache BeanUtils是Apache Commons项目的一部分,提供了一系列便捷的工具方法用于Bean的操作,包括属性的复制。它使用反射机制实现,通过getter和setter方法进行属性的读写。其优点在于简单易用,但缺点是在...

    beanutils的jar包

    例如,你可以使用`BeanUtils.copyProperties()`方法轻松地将一个对象的属性值复制到另一个对象,而无需显式地列出所有属性。 其次,BeanUtils提供了类型转换功能。在处理用户输入或从不同数据源获取数据时,数据...

Global site tag (gtag.js) - Google Analytics