bean这个词,在这个语境里,可以理解为“组件”的意思,这样理解就非常明了了。
javabean就是java组件,是个统称。ejb就是企业级java组件的英文缩写。entitybean就是实体组件,或者说实体类。
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的约定,并且一般只有属性,没有方法。