定义:一种用Java语言写的可重用组件(是具有某种功能,或者处理某个业务的对象)。
特点:共有类、无参构造、私有属性(共有的get、set方法)、可以有方法,但不作为业务逻辑
优点:Write once,run anywhere,reuse everywhere。
2、EJB
定义:一个技术规范:EJB 从技术上而言不是一种"产品"
EJB 是一种描述了构建应用组件要解决的标准:
可扩展 (Scalable)
分布式 (Distributed)
事务处理 (Transactional)
数据存储 (Persistent)
安全性 (Secure)
notice: JavaBean 和 Server Bean(通常称为 Enterprise JavaBean (EJB))有一些基本相同之处。它们都是用一组特性创建,以执行其特定任务的对象,获得其它特性的能力。这使得 bean 的行为根据特定任务和所在环境的不同而有所不同。
Enterprise Bean 与 JavaBean 不同。JavaBean 是使用 java.beans 包开发的,它是 Java 2 标准版的一部分。JavaBean 是一台机器上同一个地址空间中运行的组件。JavaBean 是进程内组件。Enterprise Bean 是使用 javax.ejb 包开发的,它是标准 JDK 的扩展,是 Java 2 Enterprise Edition 的一部分。Enterprise Bean 是在多台机器上跨几个地址空间运行的组件。因此 Enterprise Bean 是进程间组件。JavaBean 通常用作 GUI 窗口小部件,而 Enterprise Bean 则用作分布式商业对象.
其中,EJB有EntityBean、SessionBean、MessageDrivernBean三种。
EntityBean是OR映射中对应表的每行信息封装的实体类
javabean就是java组件,是个统称。ejb就是企业级java组件的英文缩写。entitybean就是实体组件,或者说实体类。
在j2ee的时代,javabean,ejb,entitybean在j2ee里有自己的定义和其要实现的接口,但是在目前流行的SSH架构(struts,spring,hibernate)中,甚至EJB3.0规范中,不再具有j2ee中的复杂而严格的要求。这是因为Java业界的人,越来越倾向于使用POJO(Plain old java object)作为各种Bean。
POJO又是什么呢?准确的说,就是:一个普通的Java对象, 它没有任何特定的规则,它不与任何特定框架(framework)的接口绑定。
javabean严格的解释应该是: JavaBean 是一种JAVA语言写成的可重用组件。它的方法命名,构造及行为必须符合特定的约定:
- 这个类是共有类(public),并且必须有一个公共的缺省构造函数。
- 这个类的属性使用getter和setter来访问,其他方法遵从标准命名规范。
- 这个类应是可序列化的。
EntityBean是OR映射中对应表的每行信息封装的实体类。当然它符合javabean的约定,并且一般只有属性,没有方法