Jakarta Commons BeanUtils
1.简介
在一般的写bean组件的时候,都必须要写setter和getter方法,当然如果我们事先已经知道bean的相关属性和
方法,写bean是比较简单的,但是组件太多的时候,重复编写常常是枯燥乏味令人厌烦的。但当有些时候我么需
要调用动态对象的属性的时候,我们应该怎么来设定和获取对象的属性呢?BeanUtils就可以帮助我们来解决这
个问题。它需要Collections包和logging包的支持。最新版本1.7,文档还是1.6.1的.
2.已经使用BeanUtils的事例
*构建和java对象模型交互的脚本语言,比如Bean Scripting Framework
*构建web层显示和相似用途的模板语言处理器,如jsp或者Velocity
*构建适用于jsp和xsp环境的自定义标签库,如Jakarta Taglibs,Struts,Cocoon
*处理基于xml的配置资源文件,如Ant创建脚本,应用程序部署文件和Tomcat的xml配置文件
3.API简介
BeanUtils 的 Java API 主要的 package 总共四个
org.apache.commons.beanutils
这个是BeanUtils最基本的包,提供了处理getter和setter方法属性的类
org.apache.commons.beanutils.converters
Converter接口的标准实现,在启动的时候和ConvertUtils一同注册
org.apache.commons.beanutils.locale
组件的本地化处理包
org.apache.commons.beanutils.locale.converters
LocaleConverter接口的标准实现,启动的时候和LocaleConvertUtils 一同注册
4.org.apache.commons.beanutils介绍
这四个包本专题只介绍这一个,其他的使用的时候请自己参考它的文档,文档内容写得很好.
1.PropertyUtils
它支持三种类型的属性值-Simple,Indexed,Mapped
我们先创建一个简单的bean
public class Employee {
public Address getAddress(String type);
public void setAddress(String type, Address address);
public Employee getSubordinate(int index);
public void setSubordinate(int index, Employee subordinate);
public String getFirstName();
public void setFirstName(String firstName);
public String getLastName();
public void setLastName(String lastName);
}
*Simple属性访问方法
PropertyUtils.getSimpleProperty(Object bean, String name)
PropertyUtils.setSimpleProperty(Object bean, String name, Object value)
实现代码:
Employee employee = ...;
String firstName = (String)
PropertyUtils.getSimpleProperty(employee, "firstName");
String lastName = (String)
PropertyUtils.getSimpleProperty(employee, "lastName");
... manipulate the values ...
PropertyUtils.setSimpleProperty(employee, "firstName", firstName);
PropertyUtils.setSimpleProperty(employee, "lastName", lastName);
*Indexed属性访问方法
PropertyUtils.getIndexedProperty(Object bean, String name)
PropertyUtils.getIndexedProperty(Object bean, String name, int index)
PropertyUtils.setIndexedProperty(Object bean, String name, Object value)
上一页 下一页






