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。

image.png


这里最值得关注的是,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/

image.png

选择 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技术栈,公众号第一时间推送。


相关文章
|
3月前
|
安全 Java 应用服务中间件
Spring Boot + Java 21:内存减少 60%,启动速度提高 30% — 零代码
通过调整三个JVM和Spring Boot配置开关,无需重写代码即可显著优化Java应用性能:内存减少60%,启动速度提升30%。适用于所有在JVM上运行API的生产团队,低成本实现高效能。
372 3
|
2月前
|
安全 前端开发 Java
《深入理解Spring》:现代Java开发的核心框架
Spring自2003年诞生以来,已成为Java企业级开发的基石,凭借IoC、AOP、声明式编程等核心特性,极大简化了开发复杂度。本系列将深入解析Spring框架核心原理及Spring Boot、Cloud、Security等生态组件,助力开发者构建高效、可扩展的应用体系。(238字)
|
2月前
|
消息中间件 缓存 Java
Spring框架优化:提高Java应用的性能与适应性
以上方法均旨在综合考虑Java Spring 应该程序设计原则, 数据库交互, 编码实践和系统架构布局等多角度因素, 旨在达到高效稳定运转目标同时也易于未来扩展.
149 8
|
5月前
|
安全 Java API
Java 17 及以上版本核心特性在现代开发实践中的深度应用与高效实践方法 Java 开发实践
本项目以“学生成绩管理系统”为例,深入实践Java 17+核心特性与现代开发技术。采用Spring Boot 3.1、WebFlux、R2DBC等构建响应式应用,结合Record类、模式匹配、Stream优化等新特性提升代码质量。涵盖容器化部署(Docker)、自动化测试、性能优化及安全加固,全面展示Java最新技术在实际项目中的应用,助力开发者掌握现代化Java开发方法。
270 1
|
6月前
|
安全 Java API
Java 抽象类与接口在 Java17 + 开发中的现代应用实践解析
《Java抽象类与接口核心技术解析》 摘要:本文全面剖析Java抽象类与接口的核心概念与技术差异。抽象类通过模板设计实现代码复用,支持具体方法与状态管理;接口则定义行为规范,实现多态支持。文章详细对比了两者在实例化、方法实现、继承机制等方面的区别,并提供了模板方法模式(抽象类)和策略模式(接口)的典型应用示例。特别指出Java8+新特性为接口带来的灵活性提升,包括默认方法和静态方法。最后给出最佳实践建议:优先使用接口定义行为规范,通过抽象类实现代码复用,合理组合两者构建灵活架构。
212 2
|
5月前
|
前端开发 Java API
基于 Spring Boot 3 与 React 的 Java 学生信息管理系统从入门到精通实操指南
本项目基于Spring Boot 3与React 18构建学生信息管理系统,涵盖前后端开发、容器化部署及测试监控,提供完整实操指南与源码,助你掌握Java全栈开发技能。
280 0
|
7月前
|
安全 Java API
Spring Boot 功能模块全解析:构建现代Java应用的技术图谱
Spring Boot不是一个单一的工具,而是一个由众多功能模块组成的生态系统。这些模块可以根据应用需求灵活组合,构建从简单的REST API到复杂的微服务系统,再到现代的AI驱动应用。
970 10
|
编解码 Oracle Java
java9到java17的新特性学习--github新项目
本文宣布了一个名为"JavaLearnNote"的新GitHub项目,该项目旨在帮助Java开发者深入理解和掌握从Java 9到Java 17的每个版本的关键新特性,并通过实战演示、社区支持和持续更新来促进学习。
467 3
|
人工智能 前端开发 Java
基于开源框架Spring AI Alibaba快速构建Java应用
本文旨在帮助开发者快速掌握并应用 Spring AI Alibaba,提升基于 Java 的大模型应用开发效率和安全性。
2410 54
基于开源框架Spring AI Alibaba快速构建Java应用