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


相关文章
|
2月前
|
安全 前端开发 Java
随着企业应用复杂度提升,Java Spring框架以其强大与灵活特性简化开发流程,成为构建高效、可维护应用的理想选择
随着企业应用复杂度提升,Java Spring框架以其强大与灵活特性简化开发流程,成为构建高效、可维护应用的理想选择。依赖注入使对象管理交由Spring容器处理,实现低耦合高内聚;AOP则分离横切关注点如事务管理,增强代码模块化。Spring还提供MVC、Data、Security等模块满足多样需求,并通过Spring Boot简化配置与部署,加速微服务架构构建。掌握这些核心概念与工具,开发者能更从容应对挑战,打造卓越应用。
35 1
|
22天前
|
缓存 前端开发 Java
【Java面试题汇总】Spring,SpringBoot,SpringMVC,Mybatis,JavaWeb篇(2023版)
Soring Boot的起步依赖、启动流程、自动装配、常用的注解、Spring MVC的执行流程、对MVC的理解、RestFull风格、为什么service层要写接口、MyBatis的缓存机制、$和#有什么区别、resultType和resultMap区别、cookie和session的区别是什么?session的工作原理
【Java面试题汇总】Spring,SpringBoot,SpringMVC,Mybatis,JavaWeb篇(2023版)
|
22天前
|
缓存 Java 数据库
【Java面试题汇总】Spring篇(2023版)
IoC、DI、aop、事务、为什么不建议@Transactional、事务传播级别、@Autowired和@Resource注解的区别、BeanFactory和FactoryBean的区别、Bean的作用域,以及默认的作用域、Bean的生命周期、循环依赖、三级缓存、
【Java面试题汇总】Spring篇(2023版)
|
2天前
|
缓存 NoSQL Java
Springboot自定义注解+aop实现redis自动清除缓存功能
通过上述步骤,我们不仅实现了一个高度灵活的缓存管理机制,还保证了代码的整洁与可维护性。自定义注解与AOP的结合,让缓存清除逻辑与业务逻辑分离,便于未来的扩展和修改。这种设计模式非常适合需要频繁更新缓存的应用场景,大大提高了开发效率和系统的响应速度。
9 2
|
12天前
|
人工智能 开发框架 Java
重磅发布!AI 驱动的 Java 开发框架:Spring AI Alibaba
随着生成式 AI 的快速发展,基于 AI 开发框架构建 AI 应用的诉求迅速增长,涌现出了包括 LangChain、LlamaIndex 等开发框架,但大部分框架只提供了 Python 语言的实现。但这些开发框架对于国内习惯了 Spring 开发范式的 Java 开发者而言,并非十分友好和丝滑。因此,我们基于 Spring AI 发布并快速演进 Spring AI Alibaba,通过提供一种方便的 API 抽象,帮助 Java 开发者简化 AI 应用的开发。同时,提供了完整的开源配套,包括可观测、网关、消息队列、配置中心等。
567 10
|
23天前
|
Java 数据库连接 API
【Java笔记+踩坑】Spring Data JPA
从常用注解、实体类和各层编写方法入手,详细介绍JPA框架在增删改查等方面的基本用法,以及填充用户名日期、分页查询等高级用法。
【Java笔记+踩坑】Spring Data JPA
|
23天前
|
Java 数据库连接 数据格式
【Java笔记+踩坑】Spring基础2——IOC,DI注解开发、整合Mybatis,Junit
IOC/DI配置管理DruidDataSource和properties、核心容器的创建、获取bean的方式、spring注解开发、注解开发管理第三方bean、Spring整合Mybatis和Junit
【Java笔记+踩坑】Spring基础2——IOC,DI注解开发、整合Mybatis,Junit
|
2月前
|
人工智能 自然语言处理 Java
Spring AI,Spring团队开发的新组件,Java工程师快来一起体验吧
文章介绍了Spring AI,这是Spring团队开发的新组件,旨在为Java开发者提供易于集成的人工智能API,包括机器学习、自然语言处理和图像识别等功能,并通过实际代码示例展示了如何快速集成和使用这些AI技术。
Spring AI,Spring团队开发的新组件,Java工程师快来一起体验吧
|
2月前
|
Java 前端开发 Apache
Apache Wicket与Spring MVC等Java Web框架大PK,究竟谁才是你的最佳拍档?点击揭秘!
【8月更文挑战第31天】在Java Web开发领域,众多框架各具特色。Apache Wicket以组件化开发和易用性脱颖而出,提高了代码的可维护性和可读性。相比之下,Spring MVC拥有强大的生态系统,但学习曲线较陡;JSF与Java EE紧密集成,但在性能和灵活性上略逊一筹;Struts2虽成熟,但在RESTful API支持上不足。选择框架时还需考虑社区支持和文档完善程度。希望本文能帮助开发者找到最适合自己的框架。
31 0
|
2月前
|
Java Spring 开发者
Java Web开发新潮流:Vaadin与Spring Boot强强联手,打造高效便捷的应用体验!
【8月更文挑战第31天】《Vaadin与Spring Boot集成:最佳实践指南》介绍了如何结合Vaadin和Spring Boot的优势进行高效Java Web开发。文章首先概述了集成的基本步骤,包括引入依赖和配置自动功能,然后通过示例展示了如何创建和使用Vaadin组件。相较于传统框架,这种集成方式简化了配置、提升了开发效率并便于部署。尽管可能存在性能和学习曲线方面的挑战,但合理的框架组合能显著提升应用开发的质量和速度。
33 0
下一篇
无影云桌面