Chinaunix首页 | 论坛 | 博客
  • 博客访问: 64561
  • 博文数量: 34
  • 博客积分: 2010
  • 博客等级: 大尉
  • 技术积分: 360
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-20 10:39
文章分类
文章存档

2010年(3)

2009年(5)

2008年(26)

我的朋友
最近访客

分类: 系统运维

2008-11-16 13:21:48

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) |
给主人留下些什么吧!~~