天天看點

【了解】spring boot 3來了,你準備好了嗎?

【了解】spring boot 3來了,你準備好了嗎?

Spring Boot

2018年2月28日Spring Boot進入2.0時代,距今已經超過4年了。 2022 年 11 月 Spring Boot 3.0 将正式釋出,它将基于 Spring Framework 6.0,并且需要 Java 17 或更高版本,同時它也将是Jakarta EE 9的第一個 Spring Boot 版本。還有六個月的時間留給開發者來過渡到 Spring Boot 3.0,今天胖哥将告訴你一些方法,以便于将來快速遷移到3.0。

聊聊spring boot

三豐,公衆号:soft張三豐​​聊聊spring boot​​

Spring Framework  6.0

【了解】spring boot 3來了,你準備好了嗎?

釋出公告寫道,Spring Framework 6.0 作為重大更新,目前 RC1 要求使用 Java 17 或更高版本,并且已遷移到 Jakarta EE 9+(在 jakarta 命名空間中取代了以前基于 javax 的 EE API),以及對其他基礎設施的修改。基于這些變化,Spring Framework 6.0 支援最新 Web 容器,如 Tomcat 10 / Jetty 11,以及最新的持久性架構 Hibernate ORM 6.1。這些特性僅可用于 Servlet API 和 JPA 的 jakarta 命名空間變體。

此版本的一項重要變化是完成對 Spring 應用上下文的 AOT 轉換和相應的 AOT 處理支援的基礎。該變化有助于優化部署安排,從微調的 JVM 部署到對 GraalVM 原生鏡像的 “一等公民” 支援(文末“閱讀原文”閱讀相關的 Spring Boot 3 文章)。

值得一提的是,開發者可通過此版本在基于 Spring 的應用中體驗 “虛拟線程”(JDK 19 中的預覽版 “Project Loom”),文末閱讀原文可了解更多細節。現在提供了自定義選項來插入基于虛拟線程的 Executor 實作,目标是在 Project Loom 正式可用時提供 “一等公民” 的配置選項。

除了上述的變化,Spring Framework 6.0 還包含許多其他改進和特性,例如:

  • 提供基于 @HttpExchange 服務接口的 HTTP 接口用戶端
  • 對 RFC 7807 問題詳細資訊的支援
  • Spring HTTP 用戶端提供基于 Micrometer 的可觀察性
  • ……

此外,團隊稱将在下周釋出 Spring Boot 3.0 首個 RC 版本,以及 Spring Framework 6.0 的第二個 RC,然後在 11 月正式 GA。

釋出公告:https://spring.io/blog/2022/10/12/spring-framework-6-0-goes-rc1

下載下傳位址:https://github.com/spring-projects/spring-framework/releases/tag/v6.0.0-RC1

新特性介紹:https://github.com/spring-projects/spring-framework/wiki/What%27s-New-in-Spring-Framework-6.x/

盡快更新到Spring Boot 2.7

Spring Boot 2.7基本已經是Spring Boot 2.x最後一個大版本了,Spring Boot 2.5已經停止OSS支援,不再進行維護,Spring Boot 2.6也将在Spring Boot 3.0釋出後停止維護,疊代的速度越來越快了。

移除過時代碼

每個Spring Boot版本都會或多或少有一些被标記為​

​@Deprecated​

​的代碼,Spring Boot 3.0 将完全移除在 2.x 過時的代碼,當然2.x早期的過時代碼也可能在最新的2.x被移除。盡量不要使用過時代碼,一般過時代碼上都注釋有過時的原因或者替代的API。

配置檔案機制的更改

在Spring Boot 2.4中,配置檔案 ​

​application.properties​

​​ 和 ​

​application.yaml​

​ 的加載機制被改變,目的是為了簡化外部配置的加載方式,使之更加合理,帶來的是不向下相容。為了平滑更新,Spring 提供了一個配置項來相容舊機制:

spring:  config:    use-legacy-processing: true      

而這個機制将在3.0時移除,我們必須使用符合新機制的配置方式,如果你存在這幾種方式就需要注意了。

分布式配置

三豐,公衆号:soft張三豐​​分環境配置​​

版本說明

Spring Boot 3是期待已久的Spring Boot 2版本的後續版本,它目前是Spring Boot 3.0.0-M1的M1版本,Spring Boot 3.0.0-M2計劃于3月24日傳遞。

其中 M 表示裡程碑版本,RC 表示候選釋出版本,SNAPSHOT 表示建構。

在向公衆釋出之前,M2 版本通常會跟随一到兩個候選版本。

Spring Boot 1 于 2014 年釋出,Spring Boot 2 于 2018 年釋出,Spring Boot 3 計劃于 2022 年釋出。

關注公衆号 soft張三豐