`
ps329795485
  • 浏览: 51070 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

BeanUtils.copyProperties()的用法

 
阅读更多

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

下面通过代码来理解BeanUtils

首先创建两个类

Person.java


Student.java
测试类 BeanUtilTest.java
程序输出结果为:
可见Student自己设置的值都被Person给覆盖了

再做下面两个测试

把Person中的setName和setAge 改为setname setage程序输出结果为


结果没有改变

而如果改为setNAme, setAGe结果为:


我们发现结果改变了 内容没有被覆盖

注: 当我们加载BeanUtils类时 可能会报如下错误


产生错误的原因是引入的包不对,应引入import org.apache.commons.beanutils.BeanUtils;

而不应是import com.sun.org.apache.commons.beanutils.BeanUtils;

另外所需jar包为:

commons-beanutils-1.8.3.jar

commons-logging-1.1.1.jar

还有一个很邪门的问题 实在令我不解

就是如果把Person,Student 测试类写在一起的话 会产生问题

类似与这样的结构


出现不了我们所需要的结果,郁闷中....


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics