Spring 入门 | Spring 与 Jakarta EE 的关系
Spring Framework是Java平台的明星框架,Spring Framework必须依赖Java EE;同时也要看到,Spring Framework对Java EE的核心模型提出了挑战。
下面要了解一下:
* 什么是Java EE(后期改名为Jakarta EE)?
* Spring与Jakarta EE到底是什么关系?
01、Java EE与Jakarta EE
Java EE是Java Enterprise Edition的缩写,它是甲骨文提出的一套完整的开发规范。Java平台最早由Sun公司开发,后来甲骨文兼并了Sun。
Java EE以前一直由甲骨文维护,直到2018年3月,Java EE被更名为Jakarta EE,以后由开源组织Eclipse基金会来维护。
2022年11月,VMware发布了Spring Framework 6.0,它的依赖环境是JDK17+、Jakarta EE 9+(Tomcat 10/Jetty 11)。JDK17是甲骨文2021年9月14日发布的一个LTS(长期支持)版。
02、Jakarta EE是什么
Jakarta EE是Eclipse基金在Java EE基础上发布的一套Java开发规范(Specification)。
规范是什么?比方说,冯·诺依曼定义了计算机架构,由输入设备、输出设备、运算器、控制器、内存、外存组成,这就可以看成一套high-level(高级)的规范。规范就是一组约定,其他人按照约定实现。它相当于工业标准,协议也可以看成某种具体的规范。
Jakarta EE的大量规范性文档是由一系列的JSR组成的。JSR是Java Specification Requests的缩写,意思是Java规范提案。表1-1是Jakarta EE 9的规范组成。
■表1-1 Jakarta EE 9的规范组成
03、Jakarta EE 9架构
图1-4为Jakarta EE 9架构图。Jakarta EE与Java EE架构的核心:这是一套容器与组件协同的分布式工作模式。
■图1-4 Jakarta EE 9架构图
注:Applet Container(Applet容器)、Web Container(Web容器)、EJB Container(EJB容器)、Application Client Container(应用客户端容器)、Database(数据库)、Server Pages(服务器页面)。
Jakarta EE容器:图1-4中的Applet Container(容器)、Web Container、Application Client Container(应用客户端容器)、Enterprise Beans Container(企业Beans容器)等统称为容器。
Jakarta EE组件:图1-4中的Applet、Server Pages、Servlet、Enterprise Beans等统称为组件。
理解Jakarta EE的容器与组件工作模式对于学习Spring Framework非常重要,因为Spring也是容器与组件的工作模式。
组件简称Bean,容器如何管理Bean对象、Bean的生命周期、Bean的状态管理等,都是需要掌握的重要知识点。把Jakarta EE与Spring的Bean进行对比学习,是非常重要的学习方法。
04、Spring与Jakarta EE
Spring Framework与Jakarta EE对比,具有如下特点:
* Spring是轻量级框架,Jakarta EE中的EJB(Enterprise Java Bean)是重量级框架。
* Spring的出发点是用声明性事务代替EJB,因此Spring和Jakarta EE是竞争关系。
* Spring是第三方框架,Jakarta EE是规范,Spring的所有开发必须满足Jakarta EE平台的要求。
* Spring用声明性事务替代EJB后,两者又成为互补关系。
Rod Johson说:While some consider Java EE and Spring to be in competition, Spring is, in fact, complementary to Java EE(Spring与Java EE既是竞争关系,又是互补关系)。
例如:Spring的AOP,提出了中小企业的开发方案,替代了EJB;Spring支持EJB的调用;Spring有很多自定义的Annotation(注解),但是也支持JSR中的Annotation。
- 点赞
- 收藏
- 关注作者
评论(0)