面对Spring Boot 3最低支持Java17如洪水猛兽袭来,何去何从

简介: 面对Spring Boot 3最低支持Java17如洪水猛兽袭来,何去何从

在这里插入图片描述

👨🏻‍🎓博主介绍:大家好,我是芝士味的椒盐,一名在校大学生,热爱分享知识,很高兴在这里认识大家🌟
🌈擅长领域: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的新软件将恢复支持。与此同时移除了如下组件的支持:
  1. EhCache 3
  2. H2’s web console
  3. Hibernate’s metrics
  4. Infinispan
  5. Jolokia
  6. Pooled JMS
  7. REST Assured
  8. SMTP appending with Logback
  9. SMTP appending with Log4j 2

在这里插入图片描述

依赖移除

  • Spring Boot 3.0中删除了对以下依赖项的支持:
  1. Apache ActiveMQ
  2. Atomikos
  3. EhCache 2
  4. Hazelcast 3

依赖升级

  • Spring Boot 3.0.0-M1迁移到几个Spring项目的新版本:
  1. Micrometer 2.0.0-M1
  2. Spring AMQP 3.0.0-M1
  3. Spring Batch 5.0.0-M1
  4. Spring Data 2022.0.0-M1
  5. Spring Framework 6.0.0-M2
  6. Spring Integration 6.0.0-M1
  7. Spring HATEOAS 2.0.0-M1
  8. Spring Kafka 3.0.0-M1
  9. Spring LDAP 3.0.0-M1
  10. Spring REST Docs 3.0.0-M1
  11. Spring Security 6.0.0-M1
  12. Spring Session 2022.0.0-M1
  13. Spring Web Services 4.0.0-M1

在这里插入图片描述

  • 许多第三方依赖关系也已更新,其中一些更值得注意的是:
  1. Artemis 2.20.0
  2. Hazelcast 5.0
  3. Hibernate Validator 7.0
  4. Jakarta Activation 2.0
  5. Jakarta Annotation 2.0
  6. Jakarta JMS 3.0
  7. Jakarta JSON 2.0
  8. Jakarta JSON Bind 3.0
  9. Jakarta Mail 2.0
  10. Jakarta Persistence 3.0
  11. Jakarta Servlet 5.0
  12. Jakarta Servlet JSP JSTL 2.0
  13. Jakarta Transaction 2.0
  14. Jakarta Validation 3.0
  15. Jakarta WebSocket 2.0
  16. Jakarta WS RS 3.0
  17. Jakarta XML Bind 3.0
  18. Jakarta XML Soap 2.0
  19. Jetty 11
  20. jOOQ 3.16
  21. 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 已从发布列车中删除,等等。

在这里插入图片描述

相关文章
|
15天前
|
安全 Java 开发者
使用Spring Boot简化Java应用开发
【5月更文挑战第22天】Spring Boot简化Java应用开发,基于Spring框架,提供自动化配置、内置功能组件和微服务支持。通过Spring Initializr快速创建项目,选择依赖并生成代码。开发时,利用其内嵌Web服务器、日志及监控功能。打包后,可独立运行或部署,无需额外容器。掌握Spring Boot对Java开发者至关重要。
|
20天前
|
Java 数据库连接 数据库
spring--为web(1),富士康java面试题整理
spring--为web(1),富士康java面试题整理
|
22天前
|
Java 数据安全/隐私保护 Spring
Java 中 Spring Boot 框架下的 Email 开发
Java 中 Spring Boot 框架下的 Email 开发
272 2
|
22天前
|
前端开发 Java 测试技术
Java一分钟之Spring MVC:构建Web应用
【5月更文挑战第15天】Spring MVC是Spring框架的Web应用模块,基于MVC模式实现业务、数据和UI解耦。常见问题包括:配置DispatcherServlet、Controller映射错误、视图解析未设置、Model数据传递遗漏、异常处理未配置、依赖注入缺失和忽视单元测试。解决这些问题可提升代码质量和应用性能。注意配置`web.xml`、`@RequestMapping`、`ViewResolver`、`Model`、`@ExceptionHandler`、`@Autowired`,并编写测试用例。
307 3
|
22天前
|
人工智能 Java API
Spring AI 抢先体验,5 分钟玩转 Java AI 应用开发
Spring Cloud Alibaba AI 以 Spring AI 为基础,并在此基础上提供阿里云通义系列大模型全面适配,让用户在 5 分钟内开发基于通义大模型的 Java AI 应用。
225264 13
|
11天前
|
Java API 网络架构
利用Java Spring Boot构建微服务架构的实践探索
随着业务复杂性的增长和互联网技术的飞速发展,微服务架构已成为现代软件开发中不可或缺的一部分。本文旨在探讨如何利用Java Spring Boot框架构建微服务架构,包括微服务的定义、优势,以及通过实际案例展示如何设计、开发和部署微服务。我们将关注服务拆分、服务间通信、数据一致性、服务治理等核心问题,并探讨如何结合Spring Cloud生态中的组件来实现高效、可靠的微服务架构。
|
20天前
|
安全 Java 数据库
Spring boot 入门教程-Oauth2,java面试基础题核心
Spring boot 入门教程-Oauth2,java面试基础题核心
|
22天前
|
Java 关系型数据库 MySQL
【Java Spring开源项目】新蜂(NeeBee)商城项目运行、分析、总结
【Java Spring开源项目】新蜂(NeeBee)商城项目运行、分析、总结
170 4
|
22天前
|
移动开发 前端开发 NoSQL
ruoyi-nbcio从spring2.7.18升级springboot到3.1.7,java从java8升级到17(二)
ruoyi-nbcio从spring2.7.18升级springboot到3.1.7,java从java8升级到17(二)
152 0
|
22天前
|
JSON 前端开发 Java
【JAVA进阶篇教学】第七篇:Spring中常用注解
【JAVA进阶篇教学】第七篇:Spring中常用注解