介绍一个好用的工具类库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   回复   更多评论

 

你可能感兴趣的:(JAR介绍下载)