我是Java Enterprise Edition的新手,已经阅读过有关servlet和JSP的内容。 Java EE包含什么?我的意思是,是否有必要阅读有关EJB的信息? EJB在Java EE中的作用是什么?
Hibernate怎么样? EJB和Hibernate都做同样的事情吗?
答案 0 :(得分:1)
从Java EE 5开始,EJB实际上只是普通的Java对象,添加了一些额外的行为,主要是:
还有一些特别适用于EJB的其他服务,例如异步调用,定时器和与消息队列的耦合。
如果您认为这些内容中的任何一个都有用,那么您应该考虑使用EJB。如果您正在学习Java EE,那么您肯定需要了解EJB,以便您可以就是否使用它们做出明智的决定。
值得注意的是,在现代Java EE中,有一个名为Contexts and Dependency Injection(CDI)的标准可用于获取EJB的许多好处,并且可能更为可取。你当然也应该了解CDI。
许多Web应用程序都是在没有任何EJB的情况下构建的。大多数Web应用程序使用CDI或某些早期的非标准等效应用程序,例如Spring或Guice。
Hibernate是Java Persistence Architecture(JPA)标准的实现。 JPA是关于将对象持久化到数据库,并为EJB提供完全不同的服务。您可以将JPA用于实体对象(捕获数据的结构和基本行为),使用EJB或CDI作为服务对象(捕获应用程序的特定业务逻辑)。
早期版本的EJB也提供了EJB的持久性,因此与JPA有一些重叠,但现在只是历史感兴趣。
答案 1 :(得分:0)
虽然它太宽泛而无法回答,但简而言之,EJB技术是J2EE的核心。它使开发人员能够为J2EE平台编写可重用且可移植的服务器端业务逻辑。
来自here: -
EJB规范中指定的角色。
应用程序汇编程序负责打包所有 必要的EJB jar文件和任何其他jar文件,包括资源 适配器.rar文件,进入组装的业务应用程序。注意 组装并不意味着安装和部署应用程序;它 意味着将各种必要的应用程序组件集合 用于应用程序,以及更改单个组件部署 描述符是必要的。
部署者接收组装的应用程序,并将其部署到 由EJB服务器组成的特定运行时操作环境 和EJB容器。虽然EJB服务器没有必要 和EJB容器由同一供应商提供,在大多数情况下它是 (特别是因为当前的规范假定EJB 容器提供程序还提供EJB服务器)。任何配置 组件所需的也由使用的部署人员处理 一个部署工具,用于安装所有外部软件 应用程序组件依赖于。
EJB容器提供程序负责提供服务器和 符合EJB 2.0体系结构规范的容器。该 EJB容器是EJB实例的托管环境。该 容器还有一个部署管理工具,可以启用 部署者来管理J2EE应用程序。
系统管理员的角色远比维护更广泛 J2EE环境。系统管理员也负责 管理EIS环境并监控分布式 环境。没有具体的系统管理和监控 合同在EJB规范中指定。也没有 JCA规范中定义的类似合同。因此,为了 大多数情况下,系统管理和监控功能是 根据特定企业的要求进行定制。
两者是否相同。
没有Hibernate和EJB不一样。我建议你去The Java EE 6 Tutorial