javabean, ejb, entitybean的区别,以及POJO的概念

java EE真是越研究越有意思。spring + hibernate等构件企业应用真是既方便快捷,又兼具优雅的艺术气质。哈哈。

初次学习jave EE(j2ee),struts,hibernate,spring等内容的时候,可能会对这个bean有不准确的理解,就本人的经验总结一下吧。

bean这个词,在这个语境里,可以理解为“组件”的意思,这样理解就非常明了了。

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语言写成的可重用组件。它的方法命名,构造及行为必须符合特定的约定:
  1. 这个类是共有类(public),并且必须有一个公共的缺省构造函数。
  2. 这个类的属性使用getter和setter来访问,其他方法遵从标准命名规范。
  3. 这个类应是可序列化的。
因为这些要求主要是靠约定而不是靠实现接口,所以许多开发者把JavaBean看作遵从特定命名约定的POJO。其实这些约定主要是因为一个原因:javabean一般是提供给容器(框架)使用的。

EntityBean是OR映射中对应表的每行信息封装的实体类。当然它符合javabean的约定,并且一般只有属性,没有方法

你可能感兴趣的:(javabean, ejb, entitybean的区别,以及POJO的概念)