什么是JavaBeans?

参看维基百科,归纳出以下几条:

JavaBeans是指符合某些标准的类,

Bean这个名称用于涵盖这个标准,

其目的在于创建可重用的Java组件。
由于Bean是很“死板”的东西,因此它可以持久存储,并可以借助辅助软件快速实现。
Bean有它专属的一套API。

JavaBean conventions[edit]

In order to function as a JavaBean class, an object class must obey certain conventions about method naming, construction, and behaviour. These conventions make it possible to have tools that can use, reuse, replace, and connect Java Beans.

The required conventions are as follows:

  • The class must have a public default constructor (with no arguments). This allows easy instantiation within editing and activation frameworks.
  • The class properties must be accessible using getsetis (can be used for boolean properties instead of get), and other methods (so-called accessor methods and mutator methods) according to a standard naming convention. This allows easy automated inspection and updating of bean state within frameworks, many of which include custom editors for various types of properties. Setters can have one or more than one argument.
  • The class should be serializable. (This allows applications and frameworks to reliably save, store, and restore the bean‘s state in a manner independent of the VM and of the platform.)

实例,1无参构造器 2getter, setter 3实现序列化

package player;

public class PersonBean implements java.io.Serializable {

    /**
     * Property <code>name</code> (note capitalization) readable/writable.
     */
    private String name = null;

    private boolean deceased = false;

    private List list;

    public List getList() {
        return list;
    }

    public void setList(List list) {
        this.list= list;
    }
    /** No-arg constructor (takes no arguments). */
    public PersonBean() {
    }

    /**
     * Getter for property <code>name</code>
     */
    public String getName() {
        return name;
    }

    /**
     * Setter for property <code>name</code>.
     * @param value
     */
    public void setName(final String value) {
        name = value;
    }

    /**
     * Getter for property "deceased"
     * Different syntax for a boolean field (is vs. get)
     */
    public boolean isDeceased() {
        return deceased;
    }

    /**
     * Setter for property <code>deceased</code>.
     * @param value
     */
    public void setDeceased(final boolean value) {
        deceased = value;
    }
}

在JSP页面中使用PersonBean:

<% // Use of PersonBean in a JSP. %>
<jsp:useBean id="person" class="player.PersonBean" scope="page"/>
<jsp:setProperty name="person" property="*"/>

<html>
    <body>
        Name: <jsp:getProperty name="person" property="name"/><br/>
        Deceased? <jsp:getProperty name="person" property="deceased"/><br/>
        <br/>
        <form name="beanTest" method="POST" action="testPersonBean.jsp">
            Enter a name: <input type="text" name="name" size="50"><br/>
            Choose an option:
            <select name="deceased">
                <option value="false">Alive</option>
                <option value="true">Dead</option>
            </select>
            <input type="submit" value="Test the Bean">
        </form>
    </body>
</html>
时间: 2024-12-20 01:22:12

什么是JavaBeans?的相关文章

JavaBeans、EJB和POJO详解

转自:http://developer.51cto.com/art/200906/130814.htm J2EE学习者越来越多,J2EE本身技术不断在发展,涌现出各种概念,本文章试图从一种轻易理解的角度对这些概念向初学者进行解释,以便把握学习J2EE学习方向. 首先我们需要知道Java和J2EE是两个不同概念,Java不只是指一种语言,已经代表与微软不同的另外一个巨大阵营,所以Java有时是指一种软件系统的流派,当然现在主要是.NET和Java两大主流体系. J2EE可以说指Java在数据库信息

Java各种对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的区分

PO:持久对象 (persistent object),po(persistent object)就是在Object/Relation Mapping框架中的Entity,po的每个属性基本上都对应数据库表里面的某个字段.完全是一个符合Java Bean规范的纯Java对象,没有增加别的属性和方法.持久对象是由insert数据库创建,由数据库delete删除的.基本上持久对象生命周期和数据库密切相关. VO:值对象(Value Object),通常用于业务层之间的数据传递,和PO一样也是仅仅包含

JavaBeans wiki 摘译

鉴于Spring的beans包遵守JavaBean specs,有必要认真研究下JavaBean specs. 先看看wiki上是怎么说的: 定义 Java平台下,JavaBeans是那些将很多object包含进一个单独object的类,这个单独的object就是bean.JavaBeans的特点:serializable.无参构造.setter/getter properties. 优点: bean的properties.events.methods可控. bean可以注册接收其他object

Java中几种对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)

一.j2ee中,经常提到几种对象(object),理解他们的含义有助于我们更好的理解面向对象的设计思维. ORM是Object Relational Mapping[对象关系映射]的缩写 通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据.在O/RMapping的世界里, 有一系列的重要对象,常见的有VO,PO,DTO,POJO,DAO,BO. 1.Java各种对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的区分 (一).POJO(

JavaBeans 官方文档学习

提示,重点:JavaBeans的Property和 Events:PropertyEditor极其注册和查找机制. 从目前来看,JavaBeans 更像是源自GUI的需求. 使用NetBeans新建一个Java Application,然后新建一个jFrame form,右边会有组件面板,如下: 这些组件,本质上都是bean!所以可被复用.可被引用.可被通知! 将任意一个组件拖进去安置,例如Button(按钮).如下: 在右下角会显示该组件的属性,如下: 如果是英文版的NetBeans,你就会发

【Head First Servlets and JSP】笔记19:JavaBeans与JSP动作元素(&lt;jsp:setProperty.....&gt;、&lt;jsp:getProperty.....&gt;)

内容来自imooc. 1.什么是JSP动作元素 2.在JSP页面中如何使用Javabeans <jsp:......>表示这是一个JSP动作元素 3.使用JSP动作元素创建JavaBean的实例 <%@ page import="com.po.User" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html&g

JavaBeans和关系数据库的镜像

JDK1.1包括了新的数据库存 取(JDBC)及组件(JavaBeans)的应用程序接口(APIs).这两个API结合在一起,可用来开发通用 数据库代码.通过用唯一的一个类去存取任何一种JDBC数据库(封装于不同组件中的各个应用 程序有着其具体的编码),用户就不必因为数据库结构一点点的细小变化去修改数据库编码. 一个关系数据库基本上包括一系 列相互关连的表,在每一个表中存有一类与应用系统相关的数据.例如一个地址簿数据库中,可 能有关于人员.住址.电话号码等方面的表.在数据库中,每一个这样的实体将

Java学习之——JavaBeans

1.什么是JavaBeans? JavaBeans是Java语言中可以重复使用的软件组件,它们是一种特殊的Java类,将很多的对象封装到了一个对象(bean)中.特点是 可序列化, 提供无参构造器, 提供getter方法和setter方法访问对象的属性. 2.JavaBeans的优点和缺点: 优点: 1 Bean可以控制它的属性.事件和方法是否暴露给其他程序. 2 Bean可以接收来自其他对象的事件,也可以产生事件给其他对象. 3 有软件可用来配置Bean. 4 Bean的属性可以被序列化,以供

【JavaWeb】学习笔记六 JavaBeans

一.JavaBeans 设计原则 有一个User.java类 /* * 用户类 */ package com.po; public class User{ private String username; private String password; public User(){ } public String getUsername() { return username; } public void setUsername(String username) { this.username