Spring Boot 3.0 M1 发布,正式弃用 Java 8,最低要求 Java 17。。。

Spring Boot 3.0 M1 发布,正式弃用 Java 8,最低要求 Java 17。。。

Spring Boot 3.0.0-M1

Spring Boot 近日发布了第一个里程碑版本:Spring Boot 3.0.0-M1

https://spring.io/blog/2022/01/20/spring-boot-3-0-0-m1-is-now-available

这个版本变动就大了,栈长这篇就给你好好梳理下。

最低依赖

这个表格是 3.0 所变动的,其他的要求继承 Spring Boot 2.x。

组件 版本
JDK JDK 17+
Servlet Servlet 5.0
JPA JPA 3.0
Spring Spring Framework 6+
Gradle Gradle 7.3

这里最值得关注的是,JDK 直接从 Java 8 干到了 Java 17,好家伙。。

这个也很好理解了,Java 17 是继 Java 11 之后的第一个长期支持版本,关键还是 Oracle 推出商用免费政策后的第一个版本,等 Spring Boot 3.0 正式发布,Java 8 算是熬到头了。

到时,你还会说坚守 Java 8 吗?

迁移 Jakarta EE

几年前 Java EE 已经被 Eclipse 基金会改名为 Jakarta EE,很多规范也被重合名了,比如,这个 javax.* 包命名就不能再用了,已经被修改为 jakarta.*

修改示例:

javax.servlet.Filter

现在要修改为:

jakarta.servlet.Filter

Spring Boot 3.0 已经将 Java EE 所有的 APIs 迁移到了 Jakarta EE,就会影响之前 Java EE 的规范标准,这个改动可能是全盘的。

体验尝鲜

如果你想体验 Spring Boot 3.0,可以上官网一键生成项目:

https://start.spring.io/

选择 Spring Boot 3.0.0(M1)版本,另外记得要勾选 Java 17,不然可能编译错误。

这里栈长就不再演示了,等正式版发布,栈长再做一次全盘的分享,可以持续关注公众号Java技术栈,公众号第一时间推送。

往期 Spring Boot 教程及示例源码整理:

https://github.com/javastacks/spring-boot-best-practice

总结

Spring Boot 3.0.0 第一个里程碑版本 M1 发布,有两个重大的变更依赖项:

  • 最低要求 Java 17;
  • Java EE 迁移到了 Jakarta EE;

重要: 因为 Jakarta EE 兼容性的问题,需要依赖其他第三方库的同步更新,所以这个版本并没有包括所有 Spring Boot 2.x 的功能,有许多暂时移除的功能,待正式版本发布的过程中会逐渐完善。

所以,如果你只是想尝鲜是可以的,用到现有的项目上生产环境就不行了。。

未来的计划,Spring Boot 3.0 会每两个月发布一个里程碑版本,M2 里程碑版本计划在今年 3 月 24 日发布,第一个正式版本计划在今年 11 月发布。

最后,如果你还没用过 Spring Boot,今天我就送你一份 《Spring Boot 学习笔记》这个很全了,包括底层实现原理及代码实战,非常齐全,助你快速打通 Spring Boot 的各个环节。

Spring Boot 最新进展和教程解读,栈长后续会继续分享,可以持续关注公众号Java技术栈,公众号第一时间推送。

版权声明!!!

本文系公众号 "Java技术栈" 原创,转载、引用本文内容请注明出处,抄袭、洗稿一律投诉侵权,后果自负,并保留追究其法律责任的权利。