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);
}
}
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);
}
}
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
name = 心梦帆影
id = 5 name = 心梦帆影
Ha,Ha
心梦帆影 say, Hello!
My Age is 22
本文原创,转载请注明出处,谢谢!http://www.blogjava.net/rongxh7(心梦帆影JavaEE技术博客)
相关推荐
1. **Apache Commons BeanUtils** - `commons-beanutils-1.9.3.jar` Apache Commons BeanUtils库是用于处理JavaBeans的工具类库。它提供了一种简单的方式来操纵JavaBean属性,无需直接调用getter和setter方法。这个...
Apache Commons BeanUtils是Java中处理JavaBeans属性的一个便捷库。它提供了一种简单的方法来操纵对象的属性,无需直接调用getter和setter方法。该库的核心功能包括: - **属性拷贝(Property Copying)**: ...
标题"commons-beanutils-1.9.3"指的是该库的一个特定版本,即1.9.3,通常每个版本都会修复一些已知问题,增加新功能,或者优化性能。 在描述中提到的"commons-beanutils-1.9.3.jar"是主要的库文件,包含了BeanUtils...
5. **commons-beanutils-bean-collections.jar**:这是BeanUtils模块的一个扩展,增加了对Java 5的`java.util.collections`接口的支持,方便在Bean和集合间进行操作。 6. **commons-fileupload.jar**:Apache ...
总的来说,Apache Commons BeanUtils-1.8.2是一个强大且实用的库,为Java开发者提供了处理JavaBeans对象的强大工具,极大地简化了属性操作的代码。在理解并熟练运用这些工具后,可以提高代码的可读性和可维护性,...
commons-beanutil开源库是apache组织的一个基础的开源库。为apache中很多类提供工具方法。学习它是学习其它开源库实现的基础。 Commons-beanutil中包括大量和JavaBean操作有关的工具方法,使用它能够轻松利用Java...
在这个特定的压缩包“commons-beanutils-1.8.3”中,包含了一个核心的jar包,用于支持对JavaBean对象的操作。下面我们将深入探讨Apache Commons BeanUtils 1.8.3的核心功能、使用场景及其在实际开发中的重要性。 1....
Apache Commons是一个由Apache软件基金会维护的一系列实用工具类库,为Java程序员提供了大量的功能模块,以方便日常开发工作。 1. **Apache Commons BeanUtils**: - BeanUtils库是Apache Commons项目的一部分,...
在标题中提到的"commons-beanutils-1.8.0源码+jar包",意味着我们拥有这个版本的完整源代码以及编译后的jar文件,这对于开发者来说是一个宝贵的资源。1.8.0是一个较早的版本,可能不包含最新的特性或修复,但对理解...
在这个压缩包中,我们关注的是"commons-beanutils-1.8.0-sources.jar",这个文件包含了BeanUtils库的源代码,对于开发者来说,这是一个深入了解和学习BeanUtils工作原理的宝贵资源。 BeanUtils的核心功能在于提供了...
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是Apache软件基金会开发的一个Java开源项目,它是Apache Commons系列的一部分,专注于提供JavaBean操作的工具类库。在本资源"commons-beanutils-1.8.0.rar"中,包含了源代码和编译后的jar包,方便...
Commons-beanutil中包括大量和JavaBean操作有关的工具方法,使用它能够轻松利用Java反射机制来完毕代码中所须要的功能,而不须要具体研究反射的原理和使用,同一时候,该类库中提出了动态Bean的概念,不但提供现有...
标题中的"commons-beanutils-1.8.0"指的是Apache Commons BeanUtils的一个特定版本,即1.8.0版本。这个版本在Java社区中广泛使用,因为它简化了对象属性的访问和操作,使得开发者可以更加高效地处理JavaBean对象。 ...
Apache Commons是一个非常有用的工具包,解决各种实际的通用问题。(附件中提供了该工具包的jar包,及源文件以供研究) BeanUtils Commons-BeanUtils 提供对 Java 反射和自省API的包装 Betwixt Betwixt提供将 ...
各个包的说明:ezmorph是一个简单的java类库,用于将一种bean转换成另外一种bean。其动态bean的实现依赖于commons-beanutils包。commons-beanutils是操作Java Bean的类库,依赖于commons-collections。commons-...
在Java开发中,Apache Commons是一个非常重要的库集合,它提供了许多实用工具类,极大地丰富了标准Java类库的功能。这个"JAVA-commons-jar包"包含的13个jar包很可能是Apache Commons的不同模块,每个模块专注于特定...
这个压缩包中包含的`commons-beanutils-1.6`文件可能是一个意外的包含,因为它是Apache Commons BeanUtils库的一个版本,主要用于处理JavaBeans的属性操作。BeanUtils提供了方便的方法来读取和设置Java对象的属性,...
"BeanUtils"是Apache软件基金会开发的一个Java库,主要用于处理JavaBeans对象的工具类库,它在Java开发中扮演着重要角色。BeanUtils库的核心功能是提供了一种简单的方式来操作JavaBeans属性,使得开发者可以方便地对...
Apache Commons Lang 是一个由 Apache 软件基金会开发的 Java 类库,它是 Java 开发者常用的工具包之一。其中,`commons-lang3-3.3.2.jar` 是该库的一个版本,它提供了许多增强和补充 Java 核心库功能的方法和类。这...