成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Spring Boot 3.0為什么廢棄了JavaEE,改用了Jakarta EE?

開發 前端
在升級Spring Boot 3.0之前,尤其要充分考慮這一點,確保所有相關依賴和代碼都適配了Jakarta EE的新命名空間,以避免潛在的兼容性問題。這是升級到Spring Boot 3.0的一個重要考慮因素,需要在升級之前對項目的依賴和代碼做充分的準備和調整。?

導言

最近看Spring Boot 3.0的代碼,發現Servlet相關的包的命名空間從javax改變為了jakarta。這可是一個非常大的破壞性更新,看了下Spring 3.0的更新日志,有一條更新日志是:從JavaEE遷移到Jakarta EE。為什么要做這種破壞性的遷移呢?JavaEE怎么了?Jakarta EE又是什么?

什么是Jakarta EE

簡單來說,Jakarta EE就是Java EE的新名詞。這里的EE全稱是Enterprise Edition,它是專門為企業級Java應用定義的一套規范,與Java SE(Java Platform, Standard Edition)相對應。

JavaEE是從Java 1.2版本開始推出的Java企業級開發平臺,最初的名稱是J2EE(Java 2 Platform, Enterprise Edition)。 隨著Java的發展,它的名稱于Java1.5版本時更改為Java EE(Java Platform, Enterprise Edition)。2009年Oracle收購了Sun,JavaEE開始由Oracle通過JCP(Java Community Process)開發和維護。

直到2017年,Oracle將JavaEE提交給了Eclipse基金會,并命名為Eclipse Enterprise for Java。然而,由于“Java”這個名字的商標歸Oracle所有,Eclipse基金會無法繼續使用javax.*和java.*,因此,項目名稱改為Jakarta EE。值得一提的是,Jakarta(雅加達)是Java島(爪洼島)上最大的城市,也是印度尼西亞的首都。Apache軟件基金會孵化的項目也有名稱為Jakarta的,不要混淆了這兩個項目,兩者沒有任何關系。

而作為JavaEE的后繼者,Jakarta EE在JavaEE的基礎上,專注于推進云原生Java應用的相關規范。隨著云原生技術的發展和普及,企業對于構建高度可擴展、彈性伸縮的云原生應用的需求也在不斷增長。Jakarta EE在這個背景下,提供了更多支持云原生開發的規范和功能,以滿足企業在云環境中的需求,促進Java應用在云原生時代的發展。

那么,企業級開發規范具體是指什么呢?跟我們平時開發的Java程序有什么區別?

什么是企業級規范

企業級開發規范(Enterprise Edition)是針對大型企業級Java應用而設計的一套標準規范。相對于Java SE,Jakarta EE提供了更多的功能和組件,用于開發復雜的分布式、可擴展的企業級應用以及云原生Java應用。這么說還是比較抽象,其實Java開發經常接觸到的Servlet,JSP,EJB,JMS就是其中的規范。這么說還是比較抽象,其實Java開發經常接觸到的Servlet,JSP,EJB,JMS就是其中的規范。

Jakarta EE包含了許多技術規范和API,涵蓋了Web應用、數據庫訪問、消息傳遞、事務處理、安全性等方面的功能,其中包括但不限于下列規范:

  1. Jakarta Servlet:前身是J2EE Servlet,定義了如何管理HTTP請求的規范。這應該是大部分Java Web開發者最熟悉的,同時也是許多其它規范的基礎。
  2. Jakarta Server Page(JSP) :服務端動態生態生成網頁的技術,可以看作Java版本的PHP和ASP。
  3. Jakarta Websocket:定義了一套WebSocket連接相關的API,用于實現全雙工通信。
  4. Jakarta RESTful Web Services:開發符合REST原則的Web服務的一套規范。
  5. Jakarta JSON Binding:Java類和JSON字符串互相轉換的規范。
  6. Jakarta XML Binding:Java類和XML的映射規范。
  7. Jakarta Enterprise Beans(EJB) :這個規范比較復雜,包括EJB容器,RMI(遠程過程調用),并發控制,依賴注入等。
  8. Jakarta Persistent(JAP) :ORM規范,定義了Java類和數據庫表直接的映射規范。
  9. Jakarta Transactions(JTA) :包含了事務相關的接口和注解類,也用于管理分布式事務。
  10. Jakarta Messaging(JMS) :消息系統的規范,用于實現異步消息傳遞,比如Apache的ActiveMQ就實現了這套規范。
  11. Validation:提供了接口和注解類,用于聲明式地校驗Bean,確保數據的合法性。

要部署Jakarta EE應用,就需要實現了Jakarta EE規范的服務器,比如Eclipse的GlassFish,IBM的WebSphere Liberty,Red Hat的WildFly等。

值得注意的是,Spring Boot廣泛使用的Undertow,Tomcat和Jetty都不是Jakart EE服務器,它們只是Web服務器。Jakarta EE是一套相對重量級的規范和框架,而Spring提供了一套更輕量級的開發框架,目前被大部分互聯網企業廣泛采用。不過Spring很多項目都會盡量遵守這些規范,你在Spring的文檔中也會經常接觸到這些規范名稱,比如Servlet,JAP等。

要不要升級到Jakarta EE

Jakarta EE 9之前的版本完全兼容J2EE,而Jakarta EE 9版本將API的命名空間從javax改成了jakarta,功能上沒有多大變化。

如果要升級到Jakarta EE 9,一定要確保直接或者間接依賴的包都有兼容Jakarta EE 9的版本,也就是說對javax包的引用都要改成jakarta。Spring Boot 3.0和Spring 6系列都以及升級到了Jakarta EE 9,因此升級了Spring Boot和Spring也就相當于要升級到Jakarta EE 9。這也是升級到Spring Boot 3的一個最大的障礙。另外,在Jakarta 9.1版本中,也增加了對Java 11的支持,建議同時升級到Java 11。

至于目前最新版的Jakarta EE 10,它引入了許多變化,廢棄和刪除了一些規范,并引入了新功能。該版本面向Java 11,也支持LTS版本Java 17。然而,Jakarta EE 10的使用還不是很廣泛,Spring也還沒升級,只是做好了升級準備,目前不建議立刻升級。

總結

總的來說,Jakarta EE就是Java EE的新名詞。本來大部分開發者來說,這個名稱的變化本來不應該是一個很重要的問題。然后,由于Java商標的問題,導致了項目名稱和包命名空間的修改,從而引入不兼容的更新。因此,升級Jakarta EE 9及之后版本,必須特別注意將所有javax的引用都改為jakarta,包括直接或間接依賴的部分,否則可能會出現難以排查的異常問題。

在升級Spring Boot 3.0之前,尤其要充分考慮這一點,確保所有相關依賴和代碼都適配了Jakarta EE的新命名空間,以避免潛在的兼容性問題。這是升級到Spring Boot 3.0的一個重要考慮因素,需要在升級之前對項目的依賴和代碼做充分的準備和調整。

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2025-04-01 08:08:29

2019-01-08 16:26:43

Java EEJ2EEJakarta EE

2025-02-24 10:36:15

2023-05-29 08:43:46

SpringJava

2024-05-11 14:49:39

Java EEJakarta影響

2015-05-12 11:04:42

Java EE學習Java EE

2018-03-05 08:59:21

Java 開源Oracle

2021-07-05 06:51:44

Java 企業版編程

2021-09-04 23:28:50

iOS蘋果安卓

2022-11-28 08:37:03

2022-02-15 19:50:18

加載器JAVAJDK

2020-06-30 14:25:28

MavenGradle Spring

2020-05-07 16:30:32

Spring BootJava

2022-02-10 20:26:06

虛擬元宇宙網絡

2023-09-28 07:34:23

JDK廢棄永久代元空間

2023-10-16 23:37:56

2022-08-01 07:02:06

SpringEasyExcel場景

2020-03-05 16:55:56

索引數據庫SQL

2020-08-14 10:40:35

RestTemplatRetrofitJava

2022-05-07 07:47:23

SpringJava開發
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 中文在线a在线 | 一区二区视频在线观看 | 黄色片a级 | 国产午夜精品久久久久免费视高清 | 精精国产xxxx视频在线播放 | 91资源在线 | 亚洲国产欧美日韩 | 亚洲视频在线免费观看 | 久久久精品网站 | 看黄在线 | 欧美美女二区 | 国产日产久久高清欧美一区 | 亚洲一二三区在线观看 | av免费观看网站 | 国产精品九九九 | 在线亚洲精品 | 四虎影音 | 日本不卡一区二区三区在线观看 | 亚洲国产aⅴ精品 | 91毛片在线观看 | 日韩一区二区在线视频 | 欧美日韩一区二区三区四区 | 国产福利视频 | 久久伦理中文字幕 | 五月天激情综合网 | 欧美成人精品一区二区三区 | 国产免费一二三区 | 国产精品久久精品 | 中文字幕视频在线观看 | 国产成人在线播放 | 国产精品爱久久久久久久 | 日韩一区二区三区在线视频 | 日韩毛片中文字幕 | 欧美激情一区二区三区 | 在线观看涩涩视频 | 欧美成人一区二区三区 | 伊人二区| 日韩高清一区二区 | 国产在线视频一区 | 亚洲成人一区二区三区 | 日韩在线三级 |