Java EE究竟是什么?

多年来,我一直在做Java SE,并转向Java EE。 不过,我在理解Java EE的某些方面时遇到了一些麻烦。

  1. Java EE只是一个规范? 我的意思是:EJB Java EE是什么?

  2. Java EE的EJB / Spring有不同的实现吗?

我很抱歉问,但是在理解什么是Java EE方面遇到一些困难。 有人可以解释什么是Java EE? 和EJB?

Java EE只是一个规范? 我的意思是:EJB Java EE是什么?

Java EE的确是一个抽象的规范。 任何人都可以开发并提供规范的工作实现。 具体实现是所谓的应用程序服务器,如WildFly , TomEE , GlassFish , Liberty , WebLogic等。还有一些servlet容器只实现了Java EE API中的JSP / Servlet部分,如Tomcat , Jetty ,等等

我们Java EE开发人员应该使用规范来编写代码(即,在我们的代码中导入javax.*类,而不是实现特定的类,例如org.jboss.wildfly.*com.sun.glassfish.*等),然后我们将能够在任何实现上运行我们的代码(因此,在任何应用程序服务器上)。 如果您熟悉JDBC,则与JDBC驱动程序的工作原理基本相同。 另请参见ao 最简单的说,什么是工厂?

从Oracle.com 下载Java EE SDK基本上包含GlassFish服务器以及一些文档和示例,也可以select使用NetBeans IDE。 如果您需要不同的服务器和/或IDE,则不需要它。

EJB是Java EE规范的一部分。 看, 它在Java EE API中 。 成熟的Java EE应用程序服务器支持它,但简单的JSP / Servlet容器不支持。

也可以看看:

  • 我在哪里可以findJava EE 6所有参考实现的列表?
  • Java EE web开发,我从哪里开始,我需要什么技能?
  • 在Java EE 6中制作Java Web应用程序需要学习什么?

Java EE的EJB / Spring有不同的实现吗?

不,如前所述,EJB是Java EE的一部分。 Spring是一个独立的框架,代替和改进了Java EE的许多部分。 Spring不一定需要运行Java EE。 像Tomcat这样的准系统servlet容器已经足够了。 简而言之,Spring是Java EE的竞争对手。 例如“Spring”(独立)竞争EJB / JTA,Spring MVC竞争JSF / JAX-RS,Spring DI / IoC / AOP竞争CDI,Spring Security竞争JAAS / JASPIC等。

在旧的J2EE / EJB2时代,EJB2 API的实施和维护非常糟糕。 那么spring是EJB2更好的select。 但是从EJB3(Java EE 5)开始,根据从Spring学到的经验,EJB API得到了很大的改进。 自从CDI(Java EE 6)以来,没有什么理由再去看待Spring这样的另一个框架,使开发人员更容易开发服务层。

只有当你使用像Tomcat这样的准系统servlet容器,并且不能移动到Java EE服务器时,Spring更容易在Tomcat上安装Spring。 无法在不修改服务器本身的情况下安装例如EJB容器om Tomcat,您基本上将重新创buildTomEE。

也可以看看:

  • 什么时候使用Spring或者EJB3或者全部使用它们是必要的还是方便的?
  • Java EE 6与Spring 3堆栈
  • 使用JSF作为Spring MVC的视图技术

Java企业版(Java EE)是一个总括规范,引用了许多其他更详细的规范,其中Enterprise JavaBeans(EJB)是其中一个更为重要的规范。

阅读它 – 它解释了Java EE和Spring之间的区别

谢谢…

  • 源代码 – Java 2 Platform,Enterprise Edition(J2EE)定义了开发基于组件的多层企业应用程序的标准。 J2EE简化了构build可移植,可伸缩且易于与传统应用程序和数据集成的企业应用程序。

  • 源代码 – Enterprise JavaBeans(EJB)技术是Java平台企业版(Java EE)的服务器端组件体系结构。 EJB技术支持基于Java技术的分布式,事务式,安全和便携式应用程序的快速简化开发。

  • Java EE只是一个规范? 我的意思是:EJB Java EE是什么?

    • Java EE是一个规范。

    • EJB是Java EE的服务器端组件体系结构

  • Java EE的EJB / Spring有不同的实现吗?

    • EJB和Spring都是遵循Java EE的不同框架。

简而言之 – JavaEE是一个平台。

它由许多规范组成,只是API。 这些API的具体实现是所谓的“参考实现”

  1. EJB只是JavaEE平台中的一个规范
  2. 不,Spring是一个应用程序框架,可以让您/支持您开发JavaEE应用程序

EJB是企业Java Bean