[基础规范]JavaBeans规范

本文来自维基百科:http://en.wikipedia.org/wiki/JavaBeans#JavaBean_conventions

JavaBeans是Java语言中可以重复使用的软件组件,它们是一种特殊的Java类,将很多的对象封装到了一个对象(bean)中。特点是可序列化,提供无参构造器,提供getter方法和setter方法访问对象的属性。

优点:

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

JavaBeans规范,要成为JavaBean类,则必须遵循关于命名、构造器、方法的特定规范。有了这些规范,才能有可以使用、复用、替代和连接JavaBeans的工具。

规范如下:

  • 有一个公有的无参构造器。
  • 属性可以通过getsetis(可以替代get,用在布尔型属性上)方法或遵循特定命名规范的其他方法访问。
  • 可序列化。

一个javabean的代码例子

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;
    }
}

测试例子:

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() ? " [已故]" : " [活着]");
    }
}

页面引用并使用javabean

<% // 在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>
时间: 2024-08-03 22:59:48

[基础规范]JavaBeans规范的相关文章

Java基础--Java编程规范

IsCoder 标记: Java基础,Java编程规范 摘要:Java虽然没有强制性的编程规范,但是为了便于统一,Java有不成文的编程规范,为了形成良好的编程习惯,建议熟悉并遵守Java编程规范,提高代码的阅读性. 一.Java标识符 在任何语言中,都要自己的一套标识符规则.Java的标识符包括:Java关键字.Java特殊功能的标识符.合法的用户自定义标识符.其中,我们能改变的只有自定义的标识符,和大部分计算机编程语言一样,Java标识符原始只支持ASCII的编码,但是随着Java在世界的影

JavaSript模块规范 - AMD规范与CMD规范介绍(转)

JavaSript模块规范 - AMD规范与CMD规范介绍 JavaSript模块化 在了解AMD,CMD规范前,还是需要先来简单地了解下什么是模块化,模块化开发? 模块化是指在解决某一个复杂问题或者一系列的杂糅问题时,依照一种分类的思维把问题进行系统性的分解以之处理.模块化是一种处理复杂系统分解为代码结构更合理,可维护性更高的可管理的模块的方式.可以想象一个巨大的系统代码,被整合优化分割成逻辑性很强的模块时,对于软件是一种何等意义的存在.对于软件行业来说:解耦软件系统的复杂性,使得不管多么大的

前端开发规范-CSS规范

前端开发规范-CSS规范 1.通用约定 (1)代码组织 以组件为单位组织代码段: 制定一致的注释规范: 组件块和子组件块以及声明块之间使用一空行分隔,子组件块之间三空行分隔: 如果使用了多个 CSS 文件,将其按照组件而非页面的形式分拆,因为页面会被重组,而组件只会被移动: 良好的注释是非常重要的.请留出时间来描述组件(component)的工作方式.局限性和构建它们的方法.不要让你的团队其它成员 来猜测一段不通用或不明显的代码的目的. 提示:通过配置编辑器,可以提供快捷键来输出一致认可的注释模

swift基础_书写规范

创建一个swift工程: 来到主函数,啥?找不到OC一样的main函数? 别废话了,上代码,我来分析一下: //Fundation 基础包 import Foundation //没有执行main函数,执行顺序从上往下执行 //执行这个prinr这个函数 //Lua pathon语言一样不需要加分号 print("Hello, World!") //定义变量 int a;变量定义以var开头 var开头就声明一个变量 //myVar就是一个变量名,这里变量名需要些初始化 var myV

HTML5基础CSS命名规范讲解

相信有很多HTML5全栈开发的初学者对CSS的命名规则都是一头雾水,这可不是一个好的现象,那么下面就来给大家说一下HTML5全栈开发中的命名规范,希望可以帮到各位.. CSS命名规范 全局样式命名规范:global.css; 框架布局命名规范:layout.css; 字体样式命名规范:font.css; 链接样式命名规范:link.css; 打印样式命名规范:print.css; 常用类/ID命名规范 页眉规范:header 内容规范:content 容器规范:container 页脚规范:fo

4、SQL基础整理(规范函数)

规范函数: 绝对值 select abs(-5) print abs(-5) 表中取绝对值的方法: select code,name,abs(chinese)as yuwen from xuesheng select *from xuesheng where ABS(chinese)>90 天花板.地板 select ceiling(math) from xuesheng//天花板 select *from xuesheng where ([weight] - CEILING([weight])

Node基础-CommonJS模块化规范

1.在本地项目中基于NPM/YARN安装第三方模块 第一步:在本地项目中创建一个"package.json"的文件 作用:把当前项目所有依赖的第三方模块信息(包含:模块名称以及版本号等信息)都记录下来:可以在这里配置一些可执行的命令脚本等: 基于YARN会默认生成一个"配置清单",只是信息没有手动创建的全面 npm init -y 或者 yarn init -y 创建配置清单的时候,项目目录中不应该出现中文和特殊符号,这样有可能识别不了 第二步:安装 开发依赖:只有

Java开发基础知识之规范篇——排版规范

网上流行的开发规范有很多,阿里巴巴.华为开发规范等等,当往往看得最舒服的才是最适合自己! 简单汇总了一下以往自己在项目开发中的编码风格规范: 1.程序块要采用缩进风格编写,缩进的空格数为4个. 2.分界符(如大括号‘{’和‘}’)应各独占一行并且位于同一列,同时与引用它们的语句左对齐.在函数体的开始.类和接口的定义.以及if.for.do.while.switch.case语句中的程序都要采用如上的缩进方式. 3.较长的语句.表达式或参数(>80字符)要分成多行书写,长表达式要在低优先级操作符处

Java基础之命名规范

一 命名规则 1)包: 命名应该都是名词或名词性词组,全部小写,单词之间用“.”分开,一般使用本公司网站域名的逆序后跟具体的软件内部模块名 包命名举例: package com.sun.java: package com.baidu.java: 2)类: 名词或名词性词组,每个单词首字母大写:一般不使用缩写,除非其缩写更通用和便于理解,大驼峰命名法,每一个单字的首字母都采用大写字母,如HTML:当要区别接口和实现类的时候,可以在类的后面加上"Impl",例如:interface Con