👨🏻🎓博主介绍:大家好,我是芝士味的椒盐,一名在校大学生,热爱分享知识,很高兴在这里认识大家🌟
🌈擅长领域:Java、大数据、运维、电子
🙏🏻如果本文章各位小伙伴们有帮助的话,🍭关注+👍🏻点赞+🗣评论+📦收藏,相应的有空了我也会回访,互助!!!
🤝另本人水平有限,旨在创作简单易懂的文章,在文章描述时如有错,恳请各位大佬指正,在此感谢!!!
@[TOC]
缘由
- 随着大家都要放假,过新年之际,就在1月20日,Spring官方仿佛给我送了一份大礼,我只能说好家伙,过年前都要卷,正式发布了Spring Boot 3.0.0-M1版本。
Spring Boot支持的最低版本从Java8直上到Java17
- 好家伙,Java11、Java12、Java14...都没捂热就直接上Java17了。
- 其实Java17相信关注spring官网的基本都知道,其实在Spring Boot 3发布前,就已经有预兆了,Java17在未来的一段时间内将成为主流的版本,Spring Security 6.0和Spring Security 5.7,Spring Batch 5.0,Spring REST 5.0等都有提出Java17,Java17在之后流行一定程度上是必然的,那么大家开卷起来了吗?
Java EE API 迁移到 Jakarta EE变体
- 从下图可以看出,Spring Boot 3已经将所有Java EE API迁移到其等效的Jakarta EE变体,对于大多数用户来说,这意味着需要将任何javax导入替换为jakarta。例如:javax.servlet.Filter 将被替换为 jakarta.servlet.Filter.
- 从小猫猫上看,也说了作为Jakarta EE 升级的一部分,对某些依赖项的支持已经减少或删除,而这些依赖项不支持。随着生态系统逐渐适应 Jakarta EE的新软件将恢复支持。与此同时移除了如下组件的支持:
- EhCache 3
- H2’s web console
- Hibernate’s metrics
- Infinispan
- Jolokia
- Pooled JMS
- REST Assured
- SMTP appending with Logback
- SMTP appending with Log4j 2
依赖移除
- Spring Boot 3.0中删除了对以下依赖项的支持:
- Apache ActiveMQ
- Atomikos
- EhCache 2
- Hazelcast 3
依赖升级
- Spring Boot 3.0.0-M1迁移到几个Spring项目的新版本:
- Micrometer 2.0.0-M1
- Spring AMQP 3.0.0-M1
- Spring Batch 5.0.0-M1
- Spring Data 2022.0.0-M1
- Spring Framework 6.0.0-M2
- Spring Integration 6.0.0-M1
- Spring HATEOAS 2.0.0-M1
- Spring Kafka 3.0.0-M1
- Spring LDAP 3.0.0-M1
- Spring REST Docs 3.0.0-M1
- Spring Security 6.0.0-M1
- Spring Session 2022.0.0-M1
- Spring Web Services 4.0.0-M1
- 许多第三方依赖关系也已更新,其中一些更值得注意的是:
- Artemis 2.20.0
- Hazelcast 5.0
- Hibernate Validator 7.0
- Jakarta Activation 2.0
- Jakarta Annotation 2.0
- Jakarta JMS 3.0
- Jakarta JSON 2.0
- Jakarta JSON Bind 3.0
- Jakarta Mail 2.0
- Jakarta Persistence 3.0
- Jakarta Servlet 5.0
- Jakarta Servlet JSP JSTL 2.0
- Jakarta Transaction 2.0
- Jakarta Validation 3.0
- Jakarta WebSocket 2.0
- Jakarta WS RS 3.0
- Jakarta XML Bind 3.0
- Jakarta XML Soap 2.0
- Jetty 11
- jOOQ 3.16
- Tomcat 10
Spring Boot 3 M2
- 根据官方的描述,计划每两个月发布一次Spring Boot 3.0的新里程碑。M2应该在3月24日到达,在11月下旬发布GA。
Spring Cloud M1发布计划中的显著变化
- 2022.0.0-M1版本完全兼容Spring Framework 6.0.0-M2,Spring Boot 3.0.0-M1,Java 17,Jakarta EE,以及Spring项目的所有其他里程碑,如Spring Security,Spring Data等。
- 更改包括:迁移到 Java 17 基准,从 javax. 包迁移到 jakarta.,对已删除的类和方法进行更改标记为弃用,将依赖项更新为与 JakartaEE 和/或 Java 17 兼容的版本,Spring Cloudfoundry 和 CLI 已从发布列车中删除,等等。