JavaBeansJava中一种特殊的,可以将多个对象封装到一个对象(bean)中。特点是可序列化,提供无参构造器英语Nullary constructor,提供getter方法和setter方法访问对象的属性。名称中的“Bean”是用于Java的可重用软件组件的惯用叫法。

优点

编辑
  • Bean可以控制它的属性、事件和方法是否暴露给其他程序。
  • Bean可以接收来自其他对象的事件,也可以产生事件给其他对象。
  • 有软件可用来配置Bean。
  • Bean的属性可以被序列化,以供日后重用。

JavaBeans規範

编辑

要成為JavaBean類別,則必需遵循關於命名、构造器、方法的特定規範。有了這些規範,才能有可以使用、復用、替代和連接JavaBeans的工具。

規範如下:

  • 有一個public的無參數建構子。
  • 屬性可以透過getsetis(可替代get,用在布林型属性上)方法或遵循特定命名規則的其他方法存取。
  • 可序列化。
package player;

public class PersonBean implements java.io.Serializable {

    /**
     * name 屬性(注意大小寫)
     */
    private String name = null;

    private boolean deceased = false;

    /** 無參數建構子(没有參數) */
    public PersonBean() {
    }

    /**
     * name 屬性的 Getter方法
     */
    public String getName() {
        return name;
    }

    /**
     * name 屬性的Setter方法
     * @param value
     */
    public void setName(final String value) {
        name = value;
    }

    /**
     * deceased 屬性的Getter方法
     * 布林值屬性Getter方法的不同形式(這裡使用了is而非get)
     */
    public boolean isDeceased() {
        return deceased;
    }

    /**
     * deceased 屬性的Setter方法
     * @param value
     */
    public void setDeceased(final boolean value) {
        deceased = value;
    }
}

TestPersonBean.java:

import player.PersonBean;

/**
 * <code>TestPersonBean</code>类
 */
public class TestPersonBean {
    /**
     * PersonBean 類型測試方法的main函数
     * @param ARGS
     */
    public static void main(String[] args) {
        PersonBean person = new PersonBean();

        person.setName("張三");
        person.setDeceased(false);

        // 輸出: "張三[活著]"
        System.out.print(person.getName());
        System.out.println(person.isDeceased() ? " [已故]" : " [活著]");
    }
}

testPersonBean.jsp;

<% // 在JSP中使用PersonBean類別 %>
<jsp:useBean id="person" class="player.PersonBean" scope="page"/>
<jsp:setProperty name="person" property="*"/>

<html>
    <body>
        姓名:<jsp:getProperty name="person" property="name"/><br/>
        已故與否?<jsp:getProperty name="person" property="deceased"/><br/>
        <br/>
        <form name="beanTest" method="POST" action="testPersonBean.jsp">
            輸入姓名:<input type="text" name="name" size="50"><br/>
            選擇選項:
            <select name="deceased">
                <option value="false">活著</option>
                <option value="true">已故</option>
            </select>
            <input type="submit" value="測試此JavaBean">
        </form>
    </body>
</html>

参考文献

编辑

外部連結

编辑

📚 Artikel Terkait di Wikipedia

EJB

企业级JavaBean(Enterprise JavaBean, EJB,或稱Jakarta Enterprise Beans)是一个用来构筑企业级应用的服务器端可被管理组件。 Java企业版API(Java Enterprise Edition)中提供了对EJB的规范。EJB是一个封装有某个应用

JSP

可利用JavaBean和标签库技术复用常用的功能代码(设计好的组件容易实现重复利用,减少重复劳动)。标签库不仅带有通用的内置标签(JSTL),而且支持可扩展功能的自定义标签。 有良好的工具支持。 继承了Java语言的相对易用性。 继承了Java的跨平台优势,实现“一次编写,处处运行”。因为支持Java

JMX

JMX(英語:Java Management Extensions,即Java管理扩展)是Java平台上为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。 托管Bean(英語:Managed Bean

Jakarta EE

J2EE不仅仅是指一种标准平台,它更多的表达着一种软件架构和设计思想。 Java EE是一系列技术标准所组成的平台,包括: EJB - 企业级JavaBean(Enterprise Java Beans) JAAS - Java Authentication and Authorization Service

JavaServer Faces

典型的JSF应用程序包含下列部分: 一组JSP页面 一组后台bean(为在一个页面上的UI组件定义的属性和函数的JavaBean组件) 应用程序配置资源文件(定义页面导航规则、配置bean和其它的自定对象,如自定义组件) 部署描述文件(web.xml) 一组由应用程序开发者创建的自定义对象(有可能)

POJO

JavaBean類型的任何資訊,JavaBean可以用在許多的框架中,框架不需知道JavaBeans的實際型態。 若要完全實現JavaBeans規範,必須實現序列化介面,因此會稍微打破POJO的規定。因為序列化是標記介面,不需實現任何方法,在程式碼上的負擔很小。 以下是JavaServer

Java

Edition(Java SE:Java平台标准版) Java Platform, Micro Edition(Java ME:Java平台微型版) Java Platform, Card Edition 2006年昇陽電腦在JavaOne公佈Java 開放原始碼項目,並推出OpenJDK计划。Java

MyBatis

MyBatis是一个Java持久化框架,它通过XML描述符或注解把对象与存储过程或SQL语句关联起来,映射成資料庫內對應的紀錄。 MyBatis是在Apache许可证 2.0下分发的自由软件,是iBATIS 3.0的分支版本,其维护团队也包含iBATIS的初创成员。