天天看点

【了解】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张三丰