JavaBeans

  • JavaBeans
    • JavaBeans要求
    • 组成
    • 特征
    • 优点
    • JavaBean的任务:
    • 分类
    • 规范

JavaBeans

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

JavaBeans要求

Must implement Serializable.
It should have a public no-arg constructor.
All properties in java bean must be private with public getters and setter methods.

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

All properties private (use getters/setters)
A public no-argument constructor
Implements Serializable.

组成

一个JavaBean由3部分组成:
  (1) 属性(properties)
  JavaBean提供了高层次的属性概念,属性在JavaBean中不只是传统的面向对象的概念里的属性,它同时还得到了属性读取和属性写入的API的支持。属性值可以通过调用适当的bean方法进行。比如,可能bean有一个名字属性Name(String类型),这个属性的值可能需要调用String getName()方法读取,而写入属性值可能要需要调用void setName(String str)的方法。
  每个JavaBean属性通常都应该遵循简单的方法命名规则,这样应用程序构造器工具和最终用户才能找到JavaBean提供的属性,然后查询或修改属性值,对bean进行操作。JavaBean还可以对属性值的改变作出及时的反应。比如一个显示当前时间的JavaBean,如果改变时钟的时区属性,则时钟会立即重画,显示当前指定时区的时间。
  (2) 方法(method)
  JavaBean中的方法就是通常的Java方法,它可以从其他组件或在脚本环境中调用。默认情况下,所有bean的公有方法都可以被外部调用,但bean一般只会引出其公有方法的一个子集。由于JavaBean本身是Java对象,调用这个对象的方法是与其交互作用的唯一途径。JavaBean严格遵守面向对象的类设计逻辑,不让外部世界访问其任何字段(没有public字段)。这样,方法调用是接触Bean的唯一途径。
  但是和普通类不同的是,对有些Bean来说,采用调用实例方法的低级机制并不是操作和使用Bean的主要途径。公开Bean方法在Bean操作中降为辅助地位,因为两个高级Bean特性–属性和事件是与Bean交互作用的更好方式。因此Bean可以提供要让客户使用的public方法,但应当认识到,Bean设计人员希望看到绝大部分Bean的功能反映在属性和事件中,而不是在人工调用和各个方法中。
  (3) 事件(event)
  Bean与其他软件组件交流信息的主要方式是发送和接受事件。我们可以将bean的事件支持功能看作是集成电路中的输入输出引脚:工程师将引脚连接在一起组成系统,让组件进行通讯。有些引脚用于输入,有些引脚用于输出,相当于事件模型中的发送事件和接收事件。
  事件为JavaBean组件提供了一种发送通知给其他组件的方法。在AWT事件模型中,一个事件源可以注册事件监听器对象。当事件源检测到发生了某种事件时,它将调用事件监听器对象中的一个适当的事件处理方法来处理这个事件。 由此可见,JavaBean确实也是普通的Java对象,只不过它遵循了一些特别的约定而已。

特征

第一,其中JavaBean为共有类,此类要使用访问权限对public进行修饰,主要是为了方便JSP的访问;
Javabean
Javabean
第二,JavaBean定义构造的方式时,一定要使用public修饰,同时不能要参数,不定义构造方式时,Java编译器可以构造无参数方式;
第三,JavaBean属性通常可以使用访问权限对private进行修饰,此种主要表示私有属性,但是也只能在JavaBean内使用,在声明中使用public修饰的则被认为是公有权限,主要是方便同时JSP进行交互;
第四,使用setXXX()的方法以及getXXX()的方法得到JavaBean里的私有属性XXX数值;
第五,JavaBean–定要放在包内,使用package进行自定义,也可以放在JavaBean代码第一行;
第六,对于部署好的JavaBean修改是,一定要重新编译节码文件,同时启动Tomcat服务器,之后便能够生效

优点

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

JavaBean的任务:

(1) 一个开发良好的软件组件应该是一次性地编写,而不需要再重新编写代码以增强或完善功能。

(2) JavaBean组件在任意地方运行是指组件可以在任何环境和平台上使用,这可以满足各种交互式平台的需求。

(3)JavaBean组件在任意地方的重用说的是它能够在包括应用程序、其他组件、文档、Web站点和应用程序构造器工具的多种方案中再利用。

JavaBean 是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性,set和get方法获取。众所周知,属性名称符合这种模式,其他Java 类可以通过自省机制(反射机制)发现和操作这些JavaBean 的属性。

分类

JavaBean可分为两种:一种是有用户界面(UI,User Interface)的JavaBean;还有一种是没有用户界面,主要负责处理事务(如数据运算,操纵数据库)的JavaBean。JSP通常访问的是后一种JavaBean。

规范

Syntax for setter methods:

It should be public in nature.
The return-type should be void.
The setter method should be prefixed with set.
It should take some argument i.e. it should not be no-arg method.

Syntax for getter methods:

It should be public in nature.
The return-type should not be void i.e. according to our requirement we have to give return-type.
The getter method should be prefixed with get.
It should not take any argument.
For Boolean properties getter method name can be prefixed with either “get” or “is”. But recommended to use “is”.

Java知识_JavaBeans相关推荐

  1. 学习Java知识应该注意哪些基础原则

    想要做java程序猿,学习起来没有那么快的,尤其是零基础学员,java技术在学习的过程中是比较枯燥的,下面小编就为大家详细的介绍一下学习Java知识应该注意哪些基础原则,方便大家在学习的时候能够更加有 ...

  2. Java知识全面总结:并发编程+JVM+设计模式+常用框架+....

    本文整理的Java知识体系主要包括基础知识,工具,并发编程,数据结构与算法,数据库,JVM,架构设计,应用框架,中间件,微服务架构,分布式架构等内容.同时也有作为程序员的一些思考,包含了作为一个Jav ...

  3. Java 知识全面总结:并发编程+JVM+设计模式+常用框架+....

    本文整理的Java知识体系主要包括基础知识,工具,并发编程,数据结构与算法,数据库,JVM,架构设计,应用框架,中间件,微服务架构,分布式架构等内容.同时也有作为程序员的一些思考,包含了作为一个Jav ...

  4. 你应该更新的Java知识

    原文链接:http://www.blogbus.com/dreamhead-logs/236028457.html 你应该更新的Java知识之常用程序库(一) 你应该更新的Java知识之常用程序库(二 ...

  5. 你应该更新的Java知识之常用程序库

    些库有的解决了平时常见又重要的问题,有的则让Coding变得更惬意,值得全速跟进了解! 原文 在很多人眼中,Java已经是一门垂垂老矣的语言,但并不妨碍Java世界依然在前进.如果你曾离开Java,云 ...

  6. java 切面获取参数_每天分享一点Java知识(spring-aop)

    每天分享一点Java知识,码字不易,喜欢的可以关注一波,共同学习.20191127 本篇将详细讲解SpringAOP的概念以及如何实现. 1. 何为AOP AOP:面向切面编程,相对于OOP面向对象编 ...

  7. 8张图带你轻松温习Java知识

    转载自 8张图带你轻松温习Java知识 1 字符串不变性 下面这张图展示了这段代码做了什么 [code ]String s = "abcd";  s = s.concat(&quo ...

  8. java知识回顾_Java7 –回顾

    java知识回顾 我开始写博客文章,介绍即将发布的Java8版本中的新增功能 ,并认为我将从快速回顾一下Java7带给我们的内容开始. Java7于2011年7月发布,被描述为"更具进化性而 ...

  9. java知识回顾_Java – 2012年回顾和未来预测

    java知识回顾 这篇文章将重点讨论2012年发生的大小事件,并展望2013年的一些未来预测.其中一些预测将是诚实的猜测,而另一些则将是诚实的猜测. 好吧,只要说我的"恶魔般"的一 ...

最新文章

  1. 数字锁相环的matlab仿真
  2. 从工作实践中积累Linux常用脚本(一)
  3. linux du 文件大小排序,du命令 实现Linux 某个文件夹下的文件按大小排序
  4. 京解之才——2019年技术盘点微服务篇(三)| 程序员硬核评测
  5. LeetCode 96——不同的二叉搜索树
  6. linux运行多线程语句,linux多线程中使用system函数后时而程序崩溃,求助!!!...
  7. Mysql数据库手册
  8. FFmpeg的一些结构与函数
  9. 云服务器配置价格表内容
  10. 配色表 色卡 前段色彩
  11. jQuery 下载保存图片的方法
  12. SQL中的Exists 用法解释
  13. 删除之后在计算机操作中快捷键,电脑删除快捷键有哪些|电脑删除快捷键大全...
  14. C# 封面图片生成器
  15. matlab谐波电流测量,基于MATLAB的谐波电流检测方法的建模与仿真
  16. 青年论坛:谈判的情感力量
  17. 二进制 Kubernetes 查看证书过期时间
  18. 写个日志请求切面,前后端甩锅更方便
  19. 硬件接口引脚定义(持续更新)
  20. 火了,我看了10本Springboot架构书籍,融汇贯通到这一份文档里面

热门文章

  1. 简单的理解position与anchorPoint
  2. Linux 性能分析工具- Atop安装和使用
  3. 10053 事件详解
  4. js中向数组中添加元素unshift() 方法
  5. 5G承载网,到底有哪些关键技术?
  6. vscode远程连接服务器失败的问题
  7. 论文阅读笔记:On the Role of Correlation and Abstraction in Cross-Modal Multimedia Retrieval
  8. [TS初学]无法重新声明块范围变量
  9. [附源码]计算机毕业设计Python学生社团信息管理系统(程序+源码+LW文档)
  10. Github域名解析连接慢问题