前瞻 | Spring Boot 3.0 发布M1版本:你的 Java 升到 17 了吗?
共 1615字,需浏览 4分钟
·
2021-12-09 11:07
近日Spring 项目组发布了基于 Spring Framework 6.0 快照版本的 Spring Boot 3.0 的第一个快照版本,但是快照版本并没有放出仓库地址。另外据透露下个月Spring Boot 3.0的首个里程碑版本就会发布,届时将可供开发者研究学习。3.0的首个版本会有什么具体的变化呢?快来一睹为快。
另外正式版会在2022年的Q4季度发布。
一些已知的变更
为了跟上形势,一些已知的变化更需要大家知道。
移除Spring Boot 2.x的弃用API
Spring Boot 2.x 中弃用的类、方法和属性会在3.0版本中删除。
最低Java要求
从Spring Boot 3.0开始,Java 17是最低版本,Java 8不再被兼容。到正式版发行的时候Java 19也应该发行了。
Jakarta EE 9
Spring Boot 依赖于 Jakarta EE 规范,3.0 已经升级到 Jakarta EE 9 版本。因此Spring Boot 3.0 会使用 Servlet 5.0规范和JPA 3.0规范。相关的三方依赖如果不支持这些规范,将减少或者移除这些依赖。所以相关的三方依赖请尽快根据 Jakarta EE 9 进行版本迭代。基于这个原因,目前不支持Jakarta EE 9的类库将被移除,包含了一些知名三方类库,例如EhCache3
、Jersey
、JOOQ
、Thymeleaf
等等,直到这些类库适配 Jakarta EE 9。
(永久)移除支持
以下三个中间件单独被列了出来,感觉像是永久不再支持了。
Apache ActiveMQ Atomikos EhCache 2
如果您正在学习Spring Boot,那么推荐一个连载多年还在继续更新的免费教程:http://blog.didispace.com/spring-boot-learning-2x/
依赖升级
Spring Boot 3.0的一些Spring依赖项目也都升级到了新的里程碑版本,其中包含了Spring Security 6.0-M1。Jakarta EE相关的模块也升级到了Jakarta EE 9。
更多特性参见Spring Boot3.0M1更新日志[1]
最后一些个人的建议
盲目求新不可取,但是盲目守旧也不可取。我们在使用稳定版本进行日常开发的同时,应该自行建立一条通向新架构、新概念的桥梁。避免知识断代,延长自己的职业寿命。有些东西可能现在抽空要学一下;有些东西虽然现在不用学但是起码要了解一下;还有一些东西要被淘汰了也要留意一下。
总之一句话,要明确自己的投入和产出。
如果您正在学习Spring Cloud,推荐一个经典教程(含Spring Cloud Alibaba):https://blog.didispace.com/spring-cloud-learning/
参考资料
[1]Spring Boot3.0M1更新日志: https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-M1-Release-Notes
往期推荐
推荐关注本文作者:码农小胖哥
分享高质量编程知识,探讨IT人生