JavaBean简介

来源:互联网 发布:linux 定时器状态 编辑:程序博客网 时间:2024/05/22 14:55

什么是JavaBean

实际上,JavaBean就是一个Java类,只不过是一些遵循特定接口格式的Java类。为了直观地说明问题,我们直接看一个例子:

Add.java

public clas Add {  public static void main(String args[]) {    int a = 10;    int b = 20;    int c;    c = a + b;    System.out.println("a and b is :" + c);  }}

这是一段没有任何语法问题的java程序,该程序实现了对两个数a和b求和并输出结果的功能。但是,这也几乎是一段没有任何价值的代码。

  • 首先,这段代码可定制性差。如果我需要的不是10和20的和怎么办?
  • 其次,可重复使用性差。实际上这段代码根本就没有给出任何可以调用的方法接口。
  • 再次,以这样风格书写的代码,当代码达到一定的规模。维护、修改几乎是不可能完成的任务。

我们接下来把这段代码进行修改,修改后的代码如下:

public class addBean {    private int firOpd;    private int sedOpd;    public void setFirOpd(int firOpd) {        this.firOpd = firOpd;    }    public int getFirOpd() {        return firOpd;    }    public void setSedOpd(int sedOpd) {        this.sedOpd = sedOpd;    }    public int getSedOpd() {        return sedOpd;    }    public int sum(int firOpd, int sedOpd) {        return firOpd + sedOpd;    }    public void print() {        System.out.println(firOpd + "+" + sedOpd + "=" + (firOpd + sedOpd));    }}

修改后的代码,封装性良好,结构清晰。我们可以任意定制所要求和的两个数的值,同时可以把上述代码重复使用到任何需要使用求和功能的Java程序中。同时,求和这个模块丝毫不会影响到代码中其他模块的功能。一旦“求和”出错,我们还可以轻松地定位到出错模块,给代码的维护带来了便利。

当我们需要使用求和功能的时候,可以用以下的方式调用上面的代码:

public class Test {    public static void main(String args[]) {        addBean addbean = new addBean();        addbean.setFirOpd(10);        addbean.setSedOpd(20);        addbean.print();    }}

实际上,addBean就是JavaBean,JavaBean在本质上就是封装良好,可重复使用的Java类。将JavaBean引入到JSP编程当中,使得JSP的发展进入了一个崭新的阶段。它能够使HTML网页和Java代码相分离,同时使业务逻辑变得更加清晰。在JSP页面中,我们可以通过JSP动作标签来操作JavaBean对象。也就是我们在JSP基本语法中剩余的3个动作标签:

<jsp:useBean><jsp:serProperty>以及<jsp:getProperty>

通过这三个JSP内置标签可以来操作JavaBean对象,无需引入第三方类库。只不过这里的JavaBean需要遵循特定的接口格式。

JavaBean的规范标准

我们参考上面这段代码来看JavaBean的编码规则:

  • 每个属性一般情况下都是私有变量。这样可以实现良好的封装特性。
  • 所有的方法都为公有方法。
  • 每个属性都必须有相应的getset方法,用来获取和设置属性值。对于非boolean类型变量,如果属性名为abc,则该属性的get以及set方法名称应为:getAbc()和setAbc(),注意属性名的第一个字母要大写。
  • 对于boolean类型变量,属性通常命名为isAbc,该属性的get以及set方法名称为:isAbc()和setAbc()。
  • 对于数组类型的变量get和set方法格式通常各有两种,形式如下:
    public <Type[]> getAbc() {        return abc;    }    public <Type> getAbc(int index) {        return abc[index];    }    public setAbc(<Type[]> value) {        abc = value;    }    public setAbc(<Type> value, int index) {        abc[index] = value;    }

下一篇我们将看一个javaBean+jsp的web版计算器的小例子
一个简单的javaBean+JSP web计算器(六)

1 0