commons-beanutils包

 有关动态bean的一些用法,涉及到的类如下:
1、DynaBean是一个接口,它的实现类有BasicDynaBean、LazyDynaBean、ResultSetIterator、WrapDyna­Bean
2、DynaClass,也是接口,它的实现类有BasicDynaClass、WrapDynaClass等
3、DynaProperty,用来设置动态bean的属性
4、PropertyUtils,工具类,主要用来设置、取得属性值
等等,可以查阅commons-beanutils.jar

这里列举一个例子,讲述它的用法,代码如下:
①动态设置了三个属性id、name、email
DynaProperty[] property = {
new DynaProperty("id", Class.forName("java.lang.String")),
new DynaProperty("name", Class.forName("java.lang.String")),
new DynaProperty("email", Class.forName("java.lang.String"))


};


②创建一个dynaClass,通过dynaClass来创建DynaBean的实例
DynaClass dynaClass = new BasicDynaClass("bean", null, property);
DynaBean bean = dynaClass.newInstance();
③通过PropertyUtils来设置属性值
PropertyUtils.setProperty(bean, "id", "001");
PropertyUtils.setProperty(bean, "name", "iplan");
PropertyUtils.setProperty(bean, "email", "l...@love.com");
④通过以上的设置,这个bean就可以像平时的javabean一样来使用了
当然,不是xxx.getId(),而是bean.get("id");的用法

说明:在①处,除了设置一般的类型外,也可以设置其它类型(如java.util.List等),还可以是一般的javabean。
在②处,在构造函数中的"bean",是描述它的一个标记
在③处,可以不采用PropertyUtils来设置属性值,而是直接通过如下方式
bean.set("id", "001");
bean.set("name", "iplan");
bean.set("email", "l...@love.com");


总结一下:要使用BasicDynaBean,就首先要构造一个BasicDynaClass来包含期望的数据结构。
posted @ 2007-04-02 16:44  lovingprince  阅读(511)  评论(0编辑  收藏  举报