Java Bean 和 Enterprise Java Bean 之间的区别?[已关闭]
它们是不同的还是可以互换使用的?如果它们是不同的,那么是什么让它们彼此不同呢?
它们是不同的还是可以互换使用的?如果它们是不同的,那么是什么让它们彼此不同呢?
JavaBean只是一个普通的旧Java对象,它符合某些约定,包括使用访问器函数(getFoo / setFoo)进行成员访问,提供默认构造函数以及其他一些类似的东西。
Enterprise JavaBean 是 Java EE 应用程序服务器中的一个组件,它有多种风格,其细节因您所谈论的 Java EE 版本而异(或者更具体地说,涉及哪组特定的 EJB 规范)。
JavaBeans最初主要打算通过提供一个已知的接口来用于构建器工具,该接口可以通过工具中的内省来查找。然而,他们很快就变成了一种宗教。
Enterprise JavaBeans 旨在为企业应用程序在一个通用容器中提供封装的业务逻辑,该容器将会话管理、安全性、资源池等内容作为服务提供,从而使业务逻辑(相对)不受这些横切问题的污染。(他们是否完成了这项工作是一个有待辩论的问题,因为他们一开始很难使用。但是,该规范的最新版本使这变得更容易。然而,遗留应用程序仍然是一个痛苦,可悲的是,你可能会遇到的大多数EJB。
编辑以添加:
Java Bean被定义为包含私有属性(数据)和getter & setter方法的类的实例。
如果您有:
private String myString;
在类中,您应该在代码中定义方法和定义。虽然,我发现定义所有内容并不是绝对必要的,但是如果有什么东西坏了,请不要感到惊讶!public String getMyString ();
public void setMyString (String settingString);
EJB(Enterprise Java Bean)要复杂得多 它们只驻留在处理EJB的应用程序服务器中(Tomcat不持有EJB)。有 3 种类型的 EJB: