`

Apache Commons BeanUtils

    博客分类:
  • java
阅读更多

功能说明: 顾名思义,Bean Utility就是Bean小工具,主要是封装了反射(reflection)和自省(introspection)的API(可以查看java.lang.reflect和java.beans文档),对bean进行操作。
主要功能: 操作Bean的属性,针对Bean属性排序,Bean和Map的转换,创建动态的Bean等
 

2.1 org.apache.commons.beanutils.PropertyUtils 利用反射操作bean的属性

getSimpleProperty()通过反射读取属性

Person person=new Person();
person.setName=("heis");
String name=(String)PropertyUtils.getSimpleProperty(person,"name");->heis

 getNestedProperty()检索嵌套的bean属性

Book book=new Book();
book.setAuthor(person);
String authorName=(String)PropertyUtils.getNestedProperty(book,"author.name");//得到person的name

 getIndexedProperty()访问数组或List型内Object的属性

Chapter chapter1=new Chapter();
Chapter chapter2=new Chapter();
book.getChapters().add(chapter1);
book.getChapters().add(chapter2);
Chapter chapter=(Chapter)PropertyUtils.getIndexedProperty(book,"chapter[0]");

 getMappedProperty()访问Map型bean属性的值

Person person=new Person();
person.setName=("heis");
Map favorites=new HashMap();
favorites.put("food","rice");
person.setFavorite(favorites);
String favorFood=(String)PropertyUtils.getMappedProperty(person,"favorites(food)");->rice

 getProperty()和setProperty()可以访问任何bean属性,通过表达式可以完成上面方法的功能

这是一个树型的Bean属性视图
Book book
|--List authors
      |--[0]->Person person
                    |--Map favorites
                             |--Entry(key->"food",value->"")
PropertyUtils.setProperty(book,"authors[0].favorites(food)","rice");
String favorFood=(String)PropertyUtils.getProperty(book,"authors[0].favorites(food)");->rice

 isReadable()和isWritable()检查bean是否可读(有getter)或可写(有setter)

 

PropertyUtils.isReadable(book,"name");
PropertyUtils.isWritable(book,"name");

 getPropertyType()获取属性类型

System.out.println(PropertyUtils.getPropertyType(person,"favorites"));->java.util.Map

 copyProperty()复制Bean属性,只复制引用,final类型和原始类型(primitive type)

Book book1=new Book();
book1.setName("Commons Cookbook Notes");
Book book2=new Book();
PropertyUtils.copyProperty(book2,book1);//将book1的name属性copy到book2

 describe()创建包含Bean属性的Map

Person person=new Person();
person.setName("heis");
Book book=new Book();
book.setName("Commons Cookbook Notes");
book.setAuthor(person);
Map propMap=PropertyUtils.describe(book);
propMap.get("name");->Commons Cookbook Notes
propMap.get("author");->person
 

 

 

 

 

 

 

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    commons-beanutils:Apache Commons Beanutils

    Apache Commons BeanUtils Apache Commons BeanUtils为反射和自省提供了一个易于使用但灵活的包装器。文献资料可以在上找到更多信息。 可以浏览 。 与Apache Commons BeanUtils的用法有关的问题应张贴到。在哪里可以...

    commons-beanutils, Apache Commons Beanutils的镜像.zip

    commons-beanutils, Apache Commons Beanutils的镜像 Apache Commons BeanUtils Apache Commons BeanUtils提供了一个 easy-to-use,但它围绕反射。文档更多信息可以在公共BeanUtils主页上找到。 可以浏览 JavaDoc插

    commons-beanutils-1.9.2下载

    Apache Commons BeanUtils是Java开发中的一个实用工具库,它提供了对JavaBeans进行操作的便捷方法。这个库的主要目的是简化对对象属性的访问,使得开发者能够更高效地处理对象的属性设置和获取,而无需手动编写大量...

    org.apache.commons.beanutils.jar

    《Apache Commons BeanUtils详解》 Apache Commons BeanUtils是Apache软件基金会的一个开源项目,它提供了一组实用工具类,用于简化JavaBean对象的操作。这个库的核心是`org.apache.commons.beanutils`包,其中包含...

    commons-beanutils-1.9.3.jar

    Apache Commons BeanUtils是Java开发中的一个实用工具库,主要用于简化对JavaBean的操作。这个`commons-beanutils-1.9.3.jar`文件是该库的一个版本,它提供了丰富的API来帮助开发者更方便地处理JavaBean对象。在这个...

    commons-beanutils-1.8.3和commons-beanutils-1.8.0

    Apache Commons BeanUtils是Java开发中的一个实用工具库,主要用于处理JavaBeans对象,简化对JavaBean属性的操作。这个库提供了一套方便的API,使得开发者可以通过简单的API调用来获取、设置JavaBean的属性,甚至...

    commons-beanutils-1.9.4

    Apache Commons BeanUtils是Java开发中一个非常重要的工具库,它为开发者提供了大量便捷的JavaBean操作功能。在本文中,我们将深入探讨`commons-beanutils-1.9.4`这个版本,了解其核心功能、使用场景以及如何在项目...

    Commons beanutils API.chm

    Commons beanutils API.chm apache Commons beanutils API

    commons-beanutils-1.9.4.jar.zip

    Apache Commons BeanUtils是Java开发中的一个实用库,它提供了对JavaBeans属性的简便操作。这个库简化了在对象之间复制属性、处理集合以及调用JavaBean方法的过程。在这个"commons-beanutils-1.9.4.jar.zip"压缩包中...

    commons-beanutils-1.9.3jar包source包及相关jar包

    Apache Commons BeanUtils是Java开发中的一个非常重要的工具库,它为开发者提供了便利的方式来操作JavaBeans。这个库的主要目标是简化JavaBean属性的访问,通过提供一套简单易用的API,使得开发者无需直接调用getter...

    commons-beanutils-1.8.3

    《Apache Commons BeanUtils 1.8.3:深入解析与应用》 Apache Commons BeanUtils是Apache软件基金会开发的一个Java库,它提供了一种方便、灵活的方式来操作JavaBeans。在这个特定的压缩包“commons-beanutils-1.8.3...

    commons-beanutils-1.8.3.jar.zip

    《深入解析Apache Commons BeanUtils库》 Apache Commons BeanUtils库是Java开发中广泛使用的工具集,主要用于处理JavaBean对象的属性操作。这个库提供了一系列简便的方法,使得开发者能够轻松地进行对象属性的读取...

    commons-beanutils-1.8.0.rar

    在标题中提到的"commons-beanutils-1.8.0.rar"是一个包含Apache Commons BeanUtils 1.8.0版本的压缩文件,其中主要包含了一个名为"commons-beanutils-1.8.0.jar"的Java档案(JAR)文件。 Apache Commons BeanUtils...

    org.apache.commons工具包

    Apache Commons BeanUtils是Java开发中的一个非常重要的工具包,它属于Apache软件基金会的Commons项目。这个工具包提供了大量方便的API,极大地简化了JavaBean对象之间的属性操作,尤其是在处理复杂的对象模型和数据...

    commons-beanutils-1.8.0的jar包(全).rar

    Apache Commons BeanUtils是Java开发中一个非常重要的工具库,它为开发者提供了大量便捷的bean操作方法,极大地简化了Java对象属性的访问。这个"commons-beanutils-1.8.0的jar包(全).rar"包含了Apache Commons ...

    commons-beanutils-1.9.2和commons.collections-3.2.1

    Apache Commons BeanUtils与Apache Commons Collections是两个非常重要的Java开源库,它们在开发过程中扮演着不可或缺的角色,尤其是在处理对象属性操作和集合操作时。 Apache Commons BeanUtils库是专门为简化...

    commons-beanutils-1.9.3-bin.zip

    《Apache Commons BeanUtils:Java开发中的实用工具库》 Apache Commons BeanUtils是Java开发者常用的工具库之一,尤其在处理对象属性操作时,它提供了一系列强大的功能。标题中的"commons-beanutils-1.9.3-bin.zip...

    commons-beanutils-1.8.0.rar源文件及jar包

    《Apache Commons BeanUtils 1.8.0:深入解析与应用》 Apache Commons BeanUtils是Apache软件基金会开发的一个Java库,它提供了一组方便实用的工具类,用于简化Java Bean对象的操作。在这个“commons-beanutils-...

    commons-beanutils 源码

    《深入解析Apache Commons BeanUtils源码》 Apache Commons BeanUtils是Java开发中广泛使用的工具库,主要用于处理JavaBean对象的属性操作。这个库的核心功能在于简化了JavaBean对象的属性设置、获取以及复制等操作...

    commons-beanutils-1.8.3-bin+logging.rar

    《Apache Commons BeanUtils库详解与应用》 Apache Commons BeanUtils是Java开发中广泛使用的开源工具库,它简化了JavaBean对象的操作,提供了大量的便捷方法,使得开发者能够更加方便地处理属性的读取和设置,以及...

Global site tag (gtag.js) - Google Analytics