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 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张三丰