Java EE究竟是什么?
多年来我一直在做Java SE并转向Java EE。 但是,我在理解Java EE的某些方面时遇到了一些麻烦。
Java EE只是一个规范吗? 我的意思是:EJB Java EE是什么?
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服务器,以及可选的NetBeans IDE。 如果您需要不同的服务器和/或IDE,则不需要它。
EJB是Java EE规范的一部分。 看,它在Java EE API中。 成熟的Java EE应用程序服务器支持它,但简单的JSP / Servlet容器不支持。
也可以看看:
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更好的选择。 但是自从EJB3(Java EE 5)以来,基于从Spring学到的经验教训,EJB API得到了很大的改进。 自从CDI(Java EE 6)以来,没有什么理由再看看Spring这样的另一个框架,以便让开发人员更容易开发服务层。
只有当你使用诸如Tomcat之类的准系统servlet容器并且不能移动到Java EE服务器时,Spring才更容易在Tomcat上安装Spring。 无法在不修改服务器本身的情况下安装例如EJB容器om Tomcat,基本上就是重新创建TomEE。
也可以看看:
Java企业版(Java EE)是一个总括规范,引用了许多其他更详细的规范,其中Enterprise JavaBeans(EJB)是其中更重要的规范之一。
阅读它 - 它解释了Java EE和Spring之间的区别
谢谢...
源代码 - Java 2 Platform,Enterprise Edition(J2EE)定义了开发基于组件的多层企业应用程序的标准。 J2EE简化了构建便携式,可伸缩且易于与传统应用程序和数据集成的企业应用程序。
源代码 - Enterprise JavaBeans(EJB)技术是Java平台企业版(Java EE)的服务器端组件体系结构。 EJB技术支持基于Java技术的分布式,事务式,安全和便携式应用程序的快速简化开发。
Java EE只是一个规范吗? 我的意思是:EJB Java EE是什么?
Java EE是一个规范。
EJB是Java EE的服务器端组件体系结构
Java EE的EJB / Spring有不同的实现吗?