Spring Boot 3.0正式发布及新特性解读-CSDN博客

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

目录

个人主页: 【⭐️个人主页
需要您的【 点赞+关注】支持


【1】Spring Boot 3.0正式发布及新特性

Spring Boot 3.0 现已正式发布它包含了 12 个月以来 151 个开发者的 5700 多次代码提交。这是自 4.5 年前发布 2.0 以来Spring Boot 的第一次重大修订。

它也是第一个支持 Spring Framework 6.0GraalVMSpring Boot GA 版本同时也是第一个基于 Java 17 的 Spring Boot 版本以 Jakarta EE 9 为基准并支持 Jakarta EE 10。同时借助于 GraalVM 支持了 AOT Native Image

依赖调整

Spring Boot3.0 下依赖组件的版本要求也不尽相同比如 Spring Boot Kafka Starter 可能对 Kafka 有什么要求这要求你进行充分评估。Spring Cloud 体系应该在对应的 Spring Boot 3.0 体系发布后进行升级

一旦上面的工作准备完毕你就可以开始尝试升级到 Spring Boot 3.0 了。

升级的关键变更

Spring Boot 3.0 有一些关键改变这些改变将与大多数应用程序有关。所以开发者要仔细阅读这些变更。

自动配置文件变更
Spring Boot 2.7 引入了一个新的文件
META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
用于注册自动配置同时保持与 spring.factories 中注册的向后兼容。

Spring Boot 3.0 发布后spring.factories已经被移除只能通过imports文件来注册自动配置。

支持 GraalVM 原生镜像

GraalVM 是 Oracle 在 2018 年发布的一个全新的通用全栈虚拟机并具有高性能跨语言交互等逆天特性不仅支持了 JavaScalaGroovyKotlin 等基于 JVM 的语言以及 C、C++ 等基于 LLVM 的语言还支持其他像 JavaScriptRubyPython R语言等。

Spring Boot 3.0 应用现在可以支持转换为 GraalVM 原生镜像了这可以提供显著的内存和启动性能改进能支持 GraalVM 原生镜像也是整个 Spring 产品组合中的一项重大能力的提升。

Spring Boot 3.0 最低支持 Graal 22.3+ 和 Native Build Tools Plugin 0.9.17+。

Spring Boot 3.0 支持 GraalVM 原生镜像后它甚至取代了实验性的 Spring Native 项目

Spring Boot 最新支持版本

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Spring Boo 版本

Spring BootJDKSpringMavenGradle
3.1.017 ~ 206.0.9+3.6.3+7.5+,8.x
3.0.017 ~ 196.0.2+3.5+7.5+
2.7.128 ~ 205.3.27+3.5+6.8.x, 6.9.x, 7.x, 8.x

版本 3.1.5

版本 Spring Boot 3.1.5

前置系统清单

依赖版本说明
Spring Boot 3.1.53.1.5
Maven3.6.3 or laterBuild Tool
Gradle7.x (7.5 or later) and 8.xBuild Tool
Tomcat 10.1Servlet Version : 6.0Servlet Containers
Jetty 11.0Servlet Version : 5.0Servlet Containers
Undertow 2.3Servlet Version: 6.0Servlet Containers
GraalVM22.3+GraalVM Native Images
Native Build Tools0.9.27GraalVM Native Images
java17+Java
Jakarta替代 JAVA EE

三方包升级

pring Boot 3.0 构建基于 Spring Framework 6 之上需要使用 Spring Framework 6。
该版本中升级的其他 Spring 项目包括
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.1-Release-Notes

Spring AMQP 3.0.
Spring Batch 5.0.
Spring Data 2022.0.
Spring GraphQL 1.1.
Spring HATEOAS 2.0.
Spring Integration 6.0.
Spring Kafka 3.0.
Spring LDAP 3.0.
Spring REST Docs 3.0.
Spring Retry 2.0.
Spring Security 6.0
Spring Session 2022.0
Spring WS 4.0.

Spring Boot 3.0 已经从 Java EE 升级为 JakartaEE API。尽可能选择 JakartaEE10 兼容的依赖

Jakarta Activation 2.1
Jakarta JMS 3.1
Jakarta JSON 2.1
Jakarta JSON Bind 3.0
Jakarta Mail 2.1
Jakarta Persistence 3.1
Jakarta Servlet 6.0
Jakarta Servlet JSP JSTL 3.0
Jakarta Transaction 2.0
Jakarta Validation 3.0
Jakarta WebSocket 2.1
Jakarta WS RS 3.1
Jakarta XML SOAP 3.0
Jakarta XML WS 4.0

另外还升级了第三方 jar 包的最新稳定版本其中一些值得注意的依赖升级包括:

Couchbase Client 3.4
Elasticsearch Client 8.5
Flyway 9
Groovy 4.0
Hibernate 6.1
Hibernate Validator 8.0
Jackson 2.14
Jersey 3.1
Jetty 11
jOOQ 3.16
Kotlin 1.7.20
Liquibase 4.13
Lettuce 6.2
Log4j 2.18
Logback 1.4
Micrometer 1.10
Micrometer Tracing 1.0
Neo4j Java Driver 5.2
Netty 4.1.77.Final
OkHttp 4.10
R2DBC 1.0
Reactor 2022.0
SLF4J 2.0
SnakeYAML 1.32
Tomcat 10
Thymeleaf 3.1.0.M2
Undertow 2.2.20.Final

Ref

【官网blog preparing-for-spring-boot-3-0 】https://spring.io/blog/2022/05/24/preparing-for-spring-boot-3-0

官网-spring boot指南

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: Spring