JavaBean之易懂篇

首先,我们都知道Javabean被定义为:Java开发中的可重用组件,Javabean写出的类必须是具体且公共的。此处我们给出Javabean以较为易懂的定义:

1、从狭义上来说,javaBean就是一个特殊的Java类,它里面只包含属性和set和get方法,不过JavaBean里面的set和get方法名必须是set或get+字段名。 形如:SetName()。

2、每一个JavaBean中都隐含包含一个名为class的字段,该字段是从object类中继承而来。

3、对JavaBean操作的两种方式,一种用sun公司自己提供的API, 称为内省(Introspector)API技术。另一种是开源组织Apache提供的BeanUtils框架。这一篇着重总结Introspector的使用方法。

以下给出内省API技术的两种例子:

第一种:通过PropertyDescriptor类操作Bean的属性(示例代码如下):

public void test01() throw exception{

Student student =new Student();   //基于java的内省API 

PropertyDescriptor  pd =new PropertyDescriptor("name", Student.class);  //通过反射,可以得出Student中的name属性描述对象pd

Method method =pd.getWriteMethod();  //得到的method就相当于setname方法获取

method.invoke(student,"Berry");  //相当于student.setName("Berry")

method=pd.getReadMethod();  //得到的method实际上就相当student.getName();

String returnvalue =(String) method.invoke(student,null);

System.out.println("returnvalue="+returnvalue);

第二种:

通过Introspector类获得Bean对象的BeanInfo,然后通过BeanInfo获得属性描述器(PropertyDescriptor)的集合,然后依次遍历就可以得到每一个属性的名字。再通过属性描述器就可以用上面的方法来做。这种方法是用在(不知道目标类的属性名称的时候),如果对方已经暴露给我们类的字段名称了,在这样做就是多此一举。具体例子如下:

public void test2() throws Exception{

//BeanInfo表示该Student对象所有的属性情况
 BeanInfo bi = Introspector.getBeanInfo(Student.class);

//取得Student对象所有属性集合
 PropertyDescriptor[] pds = bi.getPropertyDescriptors();

 for(PropertyDescriptor pd : pds){

 System.out.println(pd.getName());//pd.getName()是属性值的名称
 
    }
}

 

以上是对Javabean以简单的描述,而比较官方正式的描述则是:

        用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。

        JavaBean可分为两种:一种是有用户界面(UI,User Interface)的JavaBean;还有一种是没有用户界面,主要负责处理事务(如数据运算,操纵数据库)的JavaBean。JSP通常访问的是后一种JavaBean。

  JavaBean是可复用的平台独立的软件组件,开发者可以在软件构造器工具中其直接进行可视化操作。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值