`

介绍一个好用的工具类库commons-beanutils

阅读更多

转自:

http://www.blogjava.net/rongxh7/archive/2009/06/22/283566.html

 

commons-beanutils.jar可以到Apache官网的commons子项目下找到它,或者,在Struts2,Spring的下载包中也能看到它的影子。单独使用时,要多引进一个commons-logging.jar,这个包也是非常见的,可在有commons-beanutils.jar的地方找到它。

好,我们来测试一下,怎么使用这个类库中的两个常用类及它的常用方法。首先,写一个POJO类,代码如下:

package rong.propertyUtils;

public class Entity {
    
    
private Integer id = 5;
    
private String name = "rongxinhua";
    
    
public Integer getId() {
        
return id;
    }

    
public void setId(Integer id) {
        
this.id = id;
    }

    
public String getName() {
        
return name;
    }

    
public void setName(String name) {
        
this.name = name;
    }

    
    
public String haha(){
        
return "Ha,Ha";
    }

    
    
public void sayHelle(String name){
        System.out.println(name 
+ " say, Hello!");
    }

    
    
public String countAges(int x, int y){
        
return "My Age is " + (x + y);
    }

    
}


接着写一个测试的类,代码如下:

package rong.propertyUtils;

import java.util.Map;
import org.apache.commons.beanutils.MethodUtils;
import org.apache.commons.beanutils.PropertyUtils;

public class TestPropertyUtils {
    
    
public static void main(String[] args) throws Exception{
        
        Entity entity 
= new Entity();
        
        
//通过PropertyUtils的getProperty方法获取指定属性的值
        Integer id = (Integer)PropertyUtils.getProperty(entity, "id");
        String name 
= (String)PropertyUtils.getProperty(entity, "name");
        System.out.println(
"id = " + id + "  name = " + name);
        
        
//调用PropertyUtils的setProperty方法设置entity的指定属性
        PropertyUtils.setProperty(entity, "name""心梦帆影");
        System.out.println(
"name = " + entity.getName());
        
        
//通过PropertyUtils的describe方法把entity的所有属性与属性值封装进Map中
        Map map = PropertyUtils.describe(entity);
        System.out.println(
"id = " + map.get("id"+ "  name = " + map.get("name"));
        
        
//通过MethodUtils的invokeMethod方法,执行指定的entity中的方法(无参的情况)
        System.out.println( MethodUtils.invokeMethod(entity, "haha"null) );
        
        
//通过MethodUtils的invokeMethod方法,执行指定的entity中的方法(1参的情况)
        MethodUtils.invokeMethod(entity, "sayHelle""心梦帆影");
        
        
//通过MethodUtils的invokeMethod方法,执行指定的entity中的方法(多参的情况)
        Object[] params = new Object[]{new Integer(10),new Integer(12)};
        String msg 
= (String)MethodUtils.invokeMethod(entity, "countAges", params);
        System.out.println(msg);
        
    }


}

 

执行结果如下:

id = 5  name = rongxinhua
name 
= 心梦帆影
id 
= 5  name = 心梦帆影
Ha
,Ha
心梦帆影 say
, Hello!
My Age is 
22


本文原创,转载请注明出处,谢谢!http://www.blogjava.net/rongxh7(心梦帆影JavaEE技术博客)

posted on 2009-06-22 14:39 心梦帆影 阅读(2213) 评论(2)  编辑  收藏 所属分类: JavaSE


评论:
# re: 介绍一个好用的工具类库commons-beanutils 2009-06-26 09:47 | keer2345
具体是做什么用的  回复  更多评论
  
# re: 介绍一个好用的工具类库commons-beanutils 2009-06-30 07:34 | 过河卒

@keer2345 
顾名思义就是对Bean (PoJo)的操作工具集.@keer2345  回复  更多评论

 

分享到:
评论

相关推荐

    commons-beanutils、commons-collections、commons-collections等常用jar 包下载

    1. **Apache Commons BeanUtils** - `commons-beanutils-1.9.3.jar` Apache Commons BeanUtils库是用于处理JavaBeans的工具类库。它提供了一种简单的方式来操纵JavaBean属性,无需直接调用getter和setter方法。这个...

    commons-beanutils.jar commons-collections-3.1.jar commons-pool-1.2.jar

    Apache Commons BeanUtils是Java中处理JavaBeans属性的一个便捷库。它提供了一种简单的方法来操纵对象的属性,无需直接调用getter和setter方法。该库的核心功能包括: - **属性拷贝(Property Copying)**: ...

    commons-beanutils-1.9.3

    标题"commons-beanutils-1.9.3"指的是该库的一个特定版本,即1.9.3,通常每个版本都会修复一些已知问题,增加新功能,或者优化性能。 在描述中提到的"commons-beanutils-1.9.3.jar"是主要的库文件,包含了BeanUtils...

    commons.jar +commons-beanutils.jar

    5. **commons-beanutils-bean-collections.jar**:这是BeanUtils模块的一个扩展,增加了对Java 5的`java.util.collections`接口的支持,方便在Bean和集合间进行操作。 6. **commons-fileupload.jar**:Apache ...

    commons-beanutils-1.8.2-bin全功能包,包括所需的5个jar文件和官方API

    总的来说,Apache Commons BeanUtils-1.8.2是一个强大且实用的库,为Java开发者提供了处理JavaBeans对象的强大工具,极大地简化了属性操作的代码。在理解并熟练运用这些工具后,可以提高代码的可读性和可维护性,...

    commons-beanutils-1.9.CHM

    commons-beanutil开源库是apache组织的一个基础的开源库。为apache中很多类提供工具方法。学习它是学习其它开源库实现的基础。 Commons-beanutil中包括大量和JavaBean操作有关的工具方法,使用它能够轻松利用Java...

    commons-beanutils-1.8.3

    在这个特定的压缩包“commons-beanutils-1.8.3”中,包含了一个核心的jar包,用于支持对JavaBean对象的操作。下面我们将深入探讨Apache Commons BeanUtils 1.8.3的核心功能、使用场景及其在实际开发中的重要性。 1....

    commons-beanutils-1.8.3.jar commons-codec-1.7.jar commons-collections-3.2.1.jar

    Apache Commons是一个由Apache软件基金会维护的一系列实用工具类库,为Java程序员提供了大量的功能模块,以方便日常开发工作。 1. **Apache Commons BeanUtils**: - BeanUtils库是Apache Commons项目的一部分,...

    commons-beanutils-1.8.0源码+jar包

    在标题中提到的"commons-beanutils-1.8.0源码+jar包",意味着我们拥有这个版本的完整源代码以及编译后的jar文件,这对于开发者来说是一个宝贵的资源。1.8.0是一个较早的版本,可能不包含最新的特性或修复,但对理解...

    commons-beanutils-1.8.0-sources.jar

    在这个压缩包中,我们关注的是"commons-beanutils-1.8.0-sources.jar",这个文件包含了BeanUtils库的源代码,对于开发者来说,这是一个深入了解和学习BeanUtils工作原理的宝贵资源。 BeanUtils的核心功能在于提供了...

    commons-beanutils等JAVA类库

    commons-beanutils,commons-collections,commons-fileupload,msbase,mssqlserver,msutil,proxool-0.8.3,tomcat-dbcp.rar ,commons-beanutils,commons-collections,commons-fileupload,msbase,mssqlserver,msutil,...

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

    Commons BeanUtils是Apache软件基金会开发的一个Java开源项目,它是Apache Commons系列的一部分,专注于提供JavaBean操作的工具类库。在本资源"commons-beanutils-1.8.0.rar"中,包含了源代码和编译后的jar包,方便...

    commons-beanutils

    Commons-beanutil中包括大量和JavaBean操作有关的工具方法,使用它能够轻松利用Java反射机制来完毕代码中所须要的功能,而不须要具体研究反射的原理和使用,同一时候,该类库中提出了动态Bean的概念,不但提供现有...

    commons-beanutils-1.8.0

    标题中的"commons-beanutils-1.8.0"指的是Apache Commons BeanUtils的一个特定版本,即1.8.0版本。这个版本在Java社区中广泛使用,因为它简化了对象属性的访问和操作,使得开发者可以更加高效地处理JavaBean对象。 ...

    apache-commons源码及jar文件

    Apache Commons是一个非常有用的工具包,解决各种实际的通用问题。(附件中提供了该工具包的jar包,及源文件以供研究) BeanUtils Commons-BeanUtils 提供对 Java 反射和自省API的包装 Betwixt Betwixt提供将 ...

    Json jar包

    各个包的说明:ezmorph是一个简单的java类库,用于将一种bean转换成另外一种bean。其动态bean的实现依赖于commons-beanutils包。commons-beanutils是操作Java Bean的类库,依赖于commons-collections。commons-...

    JAVA-commons-jar包

    在Java开发中,Apache Commons是一个非常重要的库集合,它提供了许多实用工具类,极大地丰富了标准Java类库的功能。这个"JAVA-commons-jar包"包含的13个jar包很可能是Apache Commons的不同模块,每个模块专注于特定...

    commons-logging

    这个压缩包中包含的`commons-beanutils-1.6`文件可能是一个意外的包含,因为它是Apache Commons BeanUtils库的一个版本,主要用于处理JavaBeans的属性操作。BeanUtils提供了方便的方法来读取和设置Java对象的属性,...

    beanutils jar包

    "BeanUtils"是Apache软件基金会开发的一个Java库,主要用于处理JavaBeans对象的工具类库,它在Java开发中扮演着重要角色。BeanUtils库的核心功能是提供了一种简单的方式来操作JavaBeans属性,使得开发者可以方便地对...

    commons-lang3-3.3.2 JAR包程序文件

    Apache Commons Lang 是一个由 Apache 软件基金会开发的 Java 类库,它是 Java 开发者常用的工具包之一。其中,`commons-lang3-3.3.2.jar` 是该库的一个版本,它提供了许多增强和补充 Java 核心库功能的方法和类。这...

Global site tag (gtag.js) - Google Analytics