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);
}
}
分享到:
相关推荐
- `MethodUtils`则增加了对方法的精确查找和调用,如`invokeExactMethod()`,确保调用的方法与参数完全匹配。 ### 使用示例 在Struts框架中,`ActionForm`的属性通常与Java Bean对应,`execute()`方法中通过`...
Beanutils用了魔术般的反射技术,实现了很多夸张有用的功能,都是C/C++时代不敢想的。无论谁的项目,始终一天都会用得上它。我算是后知后觉了,第一回看到它的...4.5 动态Bean 见用DynaBean减除不必要的VO和FormBean
通过`PropertyUtils.getProperty()`和`PropertyUtils.setProperty()`方法,可以实现对JavaBean属性的读写操作。 2. **类型转换**:BeanUtils具有自动类型转换的能力,它可以将字符串、数字等不同类型的值转换为...
- ConstructorUtils和MethodUtils:提供使用反射构造对象和调用方法的工具。 - DynaBean:一个动态的Bean实现,可以处理未知属性。 4. Jakarta Commons数学和时间库 这些库提供了额外的数学和时间处理功能,包括...
在给定的`commons-beanutils-1.9.1.jar`中,包含了大量的实用函数,如`PropertyUtils`、`MethodUtils`等,这些函数简化了JavaBeans的处理。 `commons-logging-1.1.3.jar`是另一个Apache项目,它是Java的日志抽象层...
- `LICENSE.txt`和`NOTICE.txt`分别包含了Apache软件基金会发布的Apache 2.0许可证条款和版权信息,规定了库的使用和分发条件。 `apidocs`目录通常包含HTML格式的API文档,可以在本地浏览器中打开,方便开发人员...
通过`PropertyUtils`类,我们可以轻松地读取或设置JavaBean的任何属性,无需手动编写getter和setter方法。例如,`getProperty()`和`setProperty()`方法分别用于获取和设置属性值。 2. **类型转换** 在处理不同类型...
Apache Commons BeanUtils库的1.6版本虽然相对较旧,但在许多遗留系统和兼容性要求较高的项目中仍然被广泛使用。然而,对于新项目,建议考虑使用更新的版本,因为它们通常包含了更多的改进和修复,以适应不断变化的...
- ConstructorUtils、MethodUtils:提供了反射相关的构造方法和方法调用功能。 - DynaBean、DynaClass、DynaProperty:提供了动态创建和操作Bean的能力。 ***mons Collections库提供了对Java集合框架(java.util....
- **ConstructorUtils** 和 **MethodUtils**:用于操作类的构造函数和方法。 ### Apache Commons Collections Apache Commons Collections提供了扩展的集合框架类,增加了更多实用功能,如特殊类型的集合、集合操作...
**PropertyUtils** 类提供了一组工具方法来读取和设置Java Bean的嵌套属性。 ##### PropertyUtilsBean **PropertyUtilsBean** 类是**PropertyUtils** 类的一个扩展实现,提供了更强大的功能。 ##### ConvertUtils...
- **MethodUtils**:提供了调用方法的工具方法。 - **DynaBean/DynaClass/DynaProperty**:提供了动态Bean的支持。 - **BasiceDyanBean/BasicDynaClass**:基本的动态Bean实现。 - **WrapDynaBean/WrapDynaClass/...