commons BeanUtil的官方
,对javaBean的一般性操作,
例子:
Commons BeanUtil可以使用web和一般的java项目。
User.java
profile.java
Address.java
只需要使用commons-beanutils-1.8.0-Beta.jar
需要使用logging组件
需要两个jar文件
commons-logging-1.1.1.jar
commons-logging-api-1.1.1.jar
设置为自己的用户库。
user里面有profile
profile里面有address
第一个例子。
1,首先开始prepareDate();初始化一个User对象
2,使用BeanUtilExample
BeanUtils.getProperty(user,"userId");//user是我们刚刚初始化的User的对象,userId是user里面的一个属性。
返回的都是字符串。
好处:
1在User里面有一个对profile的引用。
可以使用。
BeanUtils.getProperty(user,"profile.birthDate");就可以输出User里面profile里面的值。
而不是用 get以后又get。
2,对map对象也有很不错的支持。 比如profile里面的phone是map类型
可以使用这种方式
BeanUtils
BeanUtils.getProperty(user,"profile.phone(home)")
;
对数组也 可以使用。
比如profile里面的address是一个Address类型数组
可以这样使用
BeanUtils.getProperty(user,"profile.address[0].city");
可以使用PropertyUtil
PropertyUtil.getProperty(user,"profile");
两个不同的差别,是一个是返回的String类型(BeanUtils),一个返回的是Object类型(PropertyUtils)。
BeanUtils也可以copy对象,类型。
User user2=new User();
BeanUtils.copyProperties(user2,user);
本元素复制值,浅copy。
第二个例子
动态的生成类型。
构造动态生成对象的类。
LazyDynaBean person=new LazyDynaBean();
person.set("interest","eating");
person.set("lastVisit",new java.util.Date());
1 person.get("interest");
2BeanUtils.getProperty(person,"interest") ;
第三个例子
和数据库有关
对ResultSet二次封装
ResultSetDynaClass
rsdc=new resultSetDynaClass(rs);
Iterator it=rsdc.iterator();
DynaBean bean=(DynaBean)it.next();
bean.get("");
第四个列子
也是和数据库有关,
使用RowSetDynaClass rsdc=new RowSetDynaClass(rs);
一样的是 将一条记录变成一个bean类型。
三列子和四列子的区别。
都是把记录变成Bean
三列子里面的rsdc ResultSetDynaClass对Connection有依赖关系。
当connection关了以后就不能再使用了。
四例子里面对connection没有依赖。当connection关了,还是可以使用
阅读(714) | 评论(0) | 转发(0) |