我已经从事Java SE技术几年了,现在转向Java EE。然而,我对Java EE的某些方面有些困惑。
Java EE只是一个规范吗?我的意思是:EJB是Java EE吗?
EJB/Spring是Java EE的不同实现吗?
非常抱歉问这个问题,但我确实很难理解Java EE是什么。
能否有人解释一下Java EE和EJB是什么?
我已经从事Java SE技术几年了,现在转向Java EE。然而,我对Java EE的某些方面有些困惑。
Java EE只是一个规范吗?我的意思是:EJB是Java EE吗?
EJB/Spring是Java EE的不同实现吗?
非常抱歉问这个问题,但我确实很难理解Java EE是什么。
能否有人解释一下Java EE和EJB是什么?
(更新于2023年5月)
首先,“Java EE”自2019年9月起已更名为“Jakarta EE”,从版本8开始。历史上,还有一个术语“J2EE”,涵盖了1.2到1.4版本。术语“Java EE”涵盖了5到8版本。另请参见维基百科上的Jakarta EE历史。
Jakarta EE 确实是一个抽象的规范。任何人都可以开发并提供该规范的工作实现。这些具体的实现被称为应用服务器,例如 WildFly、TomEE、GlassFish、Liberty、WebLogic 等。还有一些只实现了 Jakarta EE API 之中 JSP/Servlet 部分的 Servlet 容器,例如 Tomcat、Jetty 等。
我们作为 Jakarta EE 开发者,应该编写利用规范的代码(即在我们的代码中仅导入 jakarta.*
类,而不是实现特定的类,如 org.jboss.wildfly.*
、com.sun.glassfish.*
、org.apache.tomcat.*
等),然后我们就能在任何实现上运行我们的代码(因此,在任何应用服务器上)。如果您熟悉 JDBC,则基本上与 JDBC 驱动程序工作的方式相同。另请参见 最简单的术语,什么是工厂?
EJB 是 Jakarta EE 规范的一部分。看,它在 Jakarta EE API 中。完整的 Jakarta EE 应用服务器支持它,但简单的 JSP/Servlet 容器不支持。
只有在使用诸如Tomcat这样的基本Servlet容器,并且无法转向Jakarta EE服务器时,Spring才更具吸引力,因为在Tomcat上安装Spring更容易。 不可能在Tomcat上安装例如EJB容器,而不修改服务器本身,你基本上将重新发明TomEE。
Java企业版(Java EE)是一个总称规范,引用了许多其他更详细的规范,其中Enterprise JavaBeans(EJB)是其中较为重要的规范之一。
阅读这篇文章 - 它解释了Java EE和Spring之间的区别。
谢谢...
源 -- Java 2 Platform, Enterprise Edition (J2EE) 定义了开发基于组件的多层企业应用程序的标准。J2EE 简化了构建可移植、可扩展且易于与遗留应用程序和数据集成的企业应用程序。
源 -- Enterprise JavaBeans (EJB) 技术是 Java Platform, Enterprise Edition (Java EE) 的服务器端组件架构。EJB 技术基于 Java 技术,可以快速简化地开发分布式、事务性、安全和可移植的应用程序。
Java EE 只是一个规范吗?我的意思是:EJB 是 Java EE 吗?
Java EE 是一个规范。
EJB 是 Java EE 的服务器端组件架构。
EJB/Spring 是 Java EE 的不同实现吗?
关于Java EE的所有信息都可以在Oracle官方网站上找到,其中还有其他内容。您可能还会发现阅读发布8版的规范API很有趣。花时间浏览Java EE 8教程是值得的。实际上,您可能想从这里开始,因为它提供了整个平台的非常好的概述。
J2EE/JEE/Jakarta EE