Spring Boot 3.0正式发布及新特性解读

目录

  • 【1】Spring Boot 3.0正式发布及新特性
    • 依赖调整
    • 升级的关键变更
      • 支持 GraalVM 原生镜像
    • Spring Boot 最新支持版本
    • Spring Boo 版本
    • 版本 3.1.5
      • 前置系统清单
      • 三方包升级
    • Ref

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


【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 Boot 3.0正式发布及新特性解读_第1张图片
Spring Boot 3.0正式发布及新特性解读_第2张图片
Spring Boot 3.0正式发布及新特性解读_第3张图片

Spring Boo 版本

Spring Boot JDK Spring Maven Gradle
3.1.0 17 ~ 20 6.0.9+ 3.6.3+ 7.5+,8.x
3.0.0 17 ~ 19 6.0.2+ 3.5+ 7.5+
2.7.12 8 ~ 20 5.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.5 3.1.5
Maven 3.6.3 or later Build Tool
Gradle 7.x (7.5 or later) and 8.x Build Tool
Tomcat 10.1 Servlet Version : 6.0 Servlet Containers
Jetty 11.0 Servlet Version : 5.0 Servlet Containers
Undertow 2.3 Servlet Version: 6.0 Servlet Containers
GraalVM 22.3+ GraalVM Native Images
Native Build Tools 0.9.27 GraalVM Native Images
java 17+ 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指南

你可能感兴趣的:(#,spring,boot,spring,boot,后端,java)