天天看點

面對Spring Boot 3最低支援Java17如洪水猛獸襲來,何去何從

面對Spring Boot 3最低支援Java17如洪水猛獸襲來,何去何從

????????‍????部落客介紹:大家好,我是芝士味的椒鹽,一名在校大學生,熱愛分享知識,很高興在這裡認識大家????

????擅長領域:Java、大資料、運維、電子

????????如果本文章各位小夥伴們有幫助的話,????關注+????????點贊+????評論+????收藏,相應的有空了我也會回訪,互助!!!

????另本人水準有限,旨在創作簡單易懂的文章,在文章描述時如有錯,懇請各位大佬指正,在此感謝!!!

文章目錄

  • ​​緣由​​
  • ​​Spring Boot支援的最低版本從Java8直上到Java17​​
  • ​​Java EE API 遷移到 Jakarta EE變體​​
  • ​​依賴移除​​
  • ​​依賴更新​​
  • ​​Spring Boot 3 M2​​
  • ​​Spring Cloud M1釋出計劃中的顯著變化​​

緣由

  • 随着大家都要放假,過新年之際,就在1月20日,Spring官方仿佛給我送了一份大禮,我隻能說好家夥,過年前都要卷,正式釋出了Spring Boot 3.0.0-M1版本。
    面對Spring Boot 3最低支援Java17如洪水猛獸襲來,何去何從

Spring Boot支援的最低版本從Java8直上到Java17

  • 好家夥,Java11、Java12、Java14…都沒捂熱就直接上Java17了。
    面對Spring Boot 3最低支援Java17如洪水猛獸襲來,何去何從
  • 其實Java17相信關注spring官網的基本都知道,其實在Spring Boot 3釋出前,就已經有預兆了,Java17在未來的一段時間内将成為主流的版本,Spring Security 6.0和Spring Security 5.7,Spring Batch 5.0,Spring REST 5.0等都有提出Java17,Java17在之後流行一定程度上是必然的,那麼大家開卷起來了嗎?
    面對Spring Boot 3最低支援Java17如洪水猛獸襲來,何去何從
    面對Spring Boot 3最低支援Java17如洪水猛獸襲來,何去何從
    面對Spring Boot 3最低支援Java17如洪水猛獸襲來,何去何從

Java EE API 遷移到 Jakarta EE變體

  • 從下圖可以看出,Spring Boot 3已經将所有Java EE API遷移到其等效的Jakarta EE變體,對于大多數使用者來說,這意味着需要将任何javax導入替換為jakarta。例如:javax.servlet.Filter 将被替換為 jakarta.servlet.Filter.
    面對Spring Boot 3最低支援Java17如洪水猛獸襲來,何去何從
  • 從小貓貓上看,也說了作為Jakarta EE 更新的一部分,對某些依賴項的支援已經減少或删除,而這些依賴項不支援。随着生态系統逐漸适應 Jakarta EE的新軟體将恢複支援。與此同時移除了如下元件的支援:
  1. EhCache 3
  2. H2’s web console
  3. Hibernate’s metrics
  4. Infinispan
  5. Jolokia
  6. Pooled JMS
  7. REST Assured
  8. SMTP appending with Logback
  9. SMTP appending with Log4j 2
    面對Spring Boot 3最低支援Java17如洪水猛獸襲來,何去何從

依賴移除

  • Spring Boot 3.0中删除了對以下依賴項的支援:
  1. Apache ActiveMQ
  2. Atomikos
  3. EhCache 2
  4. Hazelcast 3

依賴更新

  • Spring Boot 3.0.0-M1遷移到幾個Spring項目的新版本:
  1. Micrometer 2.0.0-M1
  2. Spring AMQP 3.0.0-M1
  3. Spring Batch 5.0.0-M1
  4. Spring Data 2022.0.0-M1
  5. Spring Framework 6.0.0-M2
  6. Spring Integration 6.0.0-M1
  7. Spring HATEOAS 2.0.0-M1
  8. Spring Kafka 3.0.0-M1
  9. Spring LDAP 3.0.0-M1
  10. Spring REST Docs 3.0.0-M1
  11. Spring Security 6.0.0-M1
  12. Spring Session 2022.0.0-M1
  13. Spring Web Services 4.0.0-M1
    面對Spring Boot 3最低支援Java17如洪水猛獸襲來,何去何從
  • 許多第三方依賴關系也已更新,其中一些更值得注意的是:
  1. Artemis 2.20.0
  2. Hazelcast 5.0
  3. Hibernate Validator 7.0
  4. Jakarta Activation 2.0
  5. Jakarta Annotation 2.0
  6. Jakarta JMS 3.0
  7. Jakarta JSON 2.0
  8. Jakarta JSON Bind 3.0
  9. Jakarta Mail 2.0
  10. Jakarta Persistence 3.0
  11. Jakarta Servlet 5.0
  12. Jakarta Servlet JSP JSTL 2.0
  13. Jakarta Transaction 2.0
  14. Jakarta Validation 3.0
  15. Jakarta WebSocket 2.0
  16. Jakarta WS RS 3.0
  17. Jakarta XML Bind 3.0
  18. Jakarta XML Soap 2.0
  19. Jetty 11
  20. jOOQ 3.16
  21. Tomcat 10
    面對Spring Boot 3最低支援Java17如洪水猛獸襲來,何去何從

Spring Boot 3 M2

  • 根據官方的描述,計劃每兩個月釋出一次Spring Boot 3.0的新裡程碑。M2應該在3月24日到達,在11月下旬釋出GA。
    面對Spring Boot 3最低支援Java17如洪水猛獸襲來,何去何從

Spring Cloud M1釋出計劃中的顯著變化

  • 2022.0.0-M1版本完全相容Spring Framework 6.0.0-M2,Spring Boot 3.0.0-M1,Java 17,Jakarta EE,以及Spring項目的所有其他裡程碑,如Spring Security,Spring Data等。
  • 更改包括:遷移到 Java 17 基準,從 javax.* 包遷移到 jakarta.*,對已删除的類和方法進行更改标記為棄用,将依賴項更新為與 JakartaEE 和/或 Java 17 相容的版本,Spring Cloudfoundry 和 CLI 已從釋出列車中删除,等等。
    面對Spring Boot 3最低支援Java17如洪水猛獸襲來,何去何從