本文来自维基百科: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>

[基础规范]JavaBeans规范相关推荐

  1. 【python】Python基础语法及规范

    一.基础常识 1.软件 狭义:实现某个功能的代码指令集合 广义:包括三要素,程序.数据和文档的集合 2.人机交互方式 图形用户界面:win10.qq.微信等,这种方式简单直观,使用者易于接受,容易上手 ...

  2. 浙江智能网联汽车道路基础地理数据规范

    智能网联汽车 道路基础地理数据规范 1 范围 本标准规定了智能网联汽车道路基础地理数据的基本规定.数据模型.几何表达和关联规则等要求. 本标准适用于智能网联汽车所需的道路基础地理数据生产和应用. 2 ...

  3. 前端工程化实践 - 代码规范 提交规范 构建流程 Monorepo(附 React Native 案例)

    前端工程化实践 - 代码规范 & 提交规范 & 构建流程 & Monorepo 前言 仓库策略 Multirepo 什么是 Multirepo? Multirepo 的优点 M ...

  4. 国家标准规范、行业标准规范,规范提取,自动提取软件

    国家标准规范.行业标准规范,规范提取,自动提取软件: 软件适用于各种行业,主要用于提取设计文档.招标文件.方案书中的相关标准或者规范名称,也可以自由添加现行规范库进行对比筛查: 软件界面 待识别文件1 ...

  5. web端开发规范开发规范_Web开发人员的规范工作

    web端开发规范开发规范 As a company edgeofmyseat.com don't need to do a lot of responding to tenders. We somet ...

  6. 7.前端开发规范 eslint-jslint规范

    前端的开发规范 1.目录构建的规范 命名原则: 简洁 比如: src 源代码 img 图片资源 js JavaScript脚本 dep 第三方依赖包 不使用复数 比如: 不使用 imgs docs 根 ...

  7. antd 判断input输入内容是否大于_Python基础语法 | 代码规范amp;判断语句amp;循环语句...

    Python基础语法 代码的执行顺序 从上到下 从左到右 代码规范 模块名,包名,普通数据量一般小写字母,多个单词之间用 _ 连接 不要用系统定义的名称,具有特殊意义的表示符,如:doc,txt之类的 ...

  8. python语句块规范_Python基础语法——代码规范判断语句循环语句

    Python基础语法 代码的执行顺序从上到下 从左到右 代码规范模块名,包名,普通数据量一般小写字母,多个单词之间用 _ 连接 不要用系统定义的名称,具有特殊意义的表示符,如:doc,txt之类的 每 ...

  9. git flow 命名规范 驼峰_图解ThinkPHP5框架(一):基础知识,开发规范与目录结构

    php中文网最新课程 每日17点准时技术干货分享 基于最新ThinkPHP5.0.8制定,原稿是xmind思维导图制作,如果觉得图片看不太清楚,可以下载xmind源文件,用xmind软件打开. 另外, ...

最新文章

  1. OpenCV 贝叶斯分类器示例
  2. 项目管理中的需求变更和解决之道
  3. php 获得手机位置坐标,获取安卓手机的坐标位置
  4. 面试题: 看下面的程序是否有问题 如果有问题请指出 并说明 (关于数据类型-隐性转换的小陷阱)
  5. linux octave源码安装,在Linux操作系统上安装Octave的方法
  6. BAT老程序员分享:Linux C/C++ 开发程序员的黄金方向和学习路线!
  7. 软件测试 学习之路 html基础
  8. Linux基本管理篇
  9. 对话框弹出的位置引发的问题showdialog
  10. mysql Table 'performance_schema.session_variables' doesn't exist
  11. 获得对摄像头的访问权
  12. 开发自测,到底该从哪里做起?
  13. 仿京东显示隐藏密码明文案例(字体图标实现)
  14. TransactNamedPipe函数
  15. VMware安装linux系统镜像教程
  16. win7 简体中文旗舰版 MSDN官方原版
  17. 企业微信怎么填写服务器,勤哲Excel服务器软件做企业微信管理系统
  18. java 文档比较功能_java 实现在线比较两个版本的Word文档的功能
  19. 第九届全国大学生机械设计创新大赛基于STM32F407的HMI USART串口屏智能药箱设计
  20. 9.5 预测市场和真实世界的数据源

热门文章

  1. 计算机快捷方式后缀名,win10系统去掉“快捷方式”四个字后缀名的操作方案
  2. vcs的加密protect
  3. 用wvdial和ppp轻松上网
  4. GNSS定位精度指标计算
  5. 【Encoding】UTF-8编码规则
  6. CUDA: 矩阵乘法优化
  7. GaussDB ETCD 服务异常实例分析处理的5种方法
  8. Jieba分词词性标注以及词性说明
  9. 前端导出多页pdf 带目录 页眉 页脚及页码
  10. echarst环形进度,官网https://echarts.apache.org/examples/zh/index.html