成人免费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

2015-05-12 11:04:42

Java EE學習Java EE

2024-05-11 14:49:39

Java EEJakarta影響

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

2023-10-16 23:37:56

2022-02-10 20:26:06

虛擬元宇宙網絡

2022-08-01 07:02:06

SpringEasyExcel場景

2023-09-28 07:34:23

JDK廢棄永久代元空間

2022-05-07 07:47:23

SpringJava開發

2020-03-05 16:55:56

索引數據庫SQL

2020-08-14 10:40:35

RestTemplatRetrofitJava
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲午夜av久久乱码 | 欧美精品在欧美一区二区 | 成人国产精品久久久 | 日韩精品无码一区二区三区 | 日韩电影中文字幕 | 国产一区久久久 | 成人毛片网| www.国产日本 | 久久久成 | 日韩免费网站 | 亚洲成人精品 | 国产精品一码二码三码在线 | 久久久精品国产 | 国产小视频在线看 | 国产精品区一区二 | 国产高清视频在线观看播放 | 成人国产网站 | 国产电影一区 | 四虎影院久久 | 欧美日韩亚洲三区 | 亚洲网站在线观看 | 久久三级影院 | 免费一区二区 | 日韩一区二区在线视频 | 国产精品成人久久久久 | 黄色日本片 | 国产一区二区影院 | 精品一二区 | 免费看一级毛片 | 岛国一区| 午夜影院在线观看 | 青青操91 | 99看片网| 成人福利视频 | 热99精品视频 | 毛片在线免费 | 亚洲视频在线看 | 亚洲精品一区二区三区丝袜 | 一a一片一级一片啪啪 | h视频在线观看免费 | 成人a网 |