它们是不同的,还是可以互换使用?如果它们是不同的,那么是什么使它们不同于彼此?
它们是不同的,还是可以互换使用?如果它们是不同的,那么是什么使它们不同于彼此?
JavaBean是一个普通的Java对象,符合一定的约定,包括使用访问器函数(getFoo/setFoo)进行成员访问,提供默认构造函数以及其他一些类似的要求。
企业级JavaBean是Java EE应用服务器中的组件,有若干种变体,具体取决于您所使用的Java EE版本(更具体地说,涉及哪个特定的EJB规范集)。
最初,JavaBeans主要是用于构建工具中,通过提供已知接口来进行内省查找。然而,它们很快就演变成了一种近乎于“宗教”的东西。
企业级JavaBeans旨在为企业应用程序提供封装的业务逻辑,这些逻辑位于通用容器中,并提供会话管理、安全性、资源池等服务,从而使业务逻辑相对独立于这些跨越式关注点。(他们是否实现了这一点是有争议的,因为一开始他们难以使用。然而,规范的更新使得使用更加容易了。遗留应用程序仍然很麻烦,不幸的是,这可能是您遇到的大多数EJBs。)
编辑后添加:
Java Bean 是指包含私有属性(数据)以及 getter 和 setter 方法的类的实例。
例如,在你的类中有:private String myString;
,那么你应该在代码中定义 public String getMyString();
和 public void setMyString(String settingString);
这两个方法。虽然我发现不一定需要全部定义,但如果出现问题,请不要感到惊讶!
EJB (Enterprise Java Bean)则更加复杂,它们只驻留在处理 EJB 的应用程序服务器中(Tomcat 不支持 EJB)。EJB 有三种类型:
Java beans 指的是只包含字段和它们的 getter-setter 方法的类。尽可能少或者根本没有业务逻辑。它们也被称为 POJO (Plain Old Java Object)。
EJB 是 J2EE 规范的一部分,可以用于利用符合 J2EE 标准的服务器的全部功能,例如事务、会话管理、安全性等(这并不意味着您不能在不使用 EJB 的情况下使用这些功能)。