面对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 已从发布列车中删除,等等。

在这里插入图片描述

相关文章
|
2月前
|
Java 应用服务中间件 开发者
Java面试题:解释Spring Boot的优势及其自动配置原理
Java面试题:解释Spring Boot的优势及其自动配置原理
96 0
|
1月前
|
人工智能 自然语言处理 Java
Spring AI,Spring团队开发的新组件,Java工程师快来一起体验吧
文章介绍了Spring AI,这是Spring团队开发的新组件,旨在为Java开发者提供易于集成的人工智能API,包括机器学习、自然语言处理和图像识别等功能,并通过实际代码示例展示了如何快速集成和使用这些AI技术。
Spring AI,Spring团队开发的新组件,Java工程师快来一起体验吧
|
30天前
|
IDE Java 开发工具
快速上手指南:如何用Spring Boot开启你的Java开发之旅?
【8月更文挑战第22天】Spring Boot由Pivotal团队开发,简化了Spring应用的创建过程。本文详述了从零开始搭建Spring Boot项目的步骤:首先确保安装了新版JDK、Maven/Gradle及IDE如IntelliJ IDEA或Eclipse;接着访问Spring Initializr网站(start.spring.io),选择所需依赖(如Web模块)并生成项目;最后,使用IDE打开生成的项目,添加`@SpringBootApplication`注解及main方法来启动应用。通过这些步骤,即便是新手也能快速上手,专注于业务逻辑的实现。
33 1
|
1月前
|
Java API 数据库
详细介绍如何使用Spring Boot简化Java Web开发过程。
Spring Boot简化Java Web开发,以轻量级、易用及高度可定制著称。通过预设模板和默认配置,开发者可迅速搭建Spring应用。本文通过创建RESTful API示例介绍其快速开发流程:从环境准备、代码编写到项目运行及集成数据库等技术,展现Spring Boot如何使Java Web开发变得更高效、简洁。
43 1
|
21天前
|
Java 前端开发 Apache
Apache Wicket与Spring MVC等Java Web框架大PK,究竟谁才是你的最佳拍档?点击揭秘!
【8月更文挑战第31天】在Java Web开发领域,众多框架各具特色。Apache Wicket以组件化开发和易用性脱颖而出,提高了代码的可维护性和可读性。相比之下,Spring MVC拥有强大的生态系统,但学习曲线较陡;JSF与Java EE紧密集成,但在性能和灵活性上略逊一筹;Struts2虽成熟,但在RESTful API支持上不足。选择框架时还需考虑社区支持和文档完善程度。希望本文能帮助开发者找到最适合自己的框架。
27 0
|
1月前
|
NoSQL Java Redis
Spring Boot集成Redis全攻略:高效数据存取,打造性能飞跃的Java微服务应用!
【8月更文挑战第3天】Spring Boot是备受欢迎的微服务框架,以其快速开发与轻量特性著称。结合高性能键值数据库Redis,可显著增强应用性能。集成步骤包括:添加`spring-boot-starter-data-redis`依赖,配置Redis服务器参数,注入`RedisTemplate`或`StringRedisTemplate`进行数据操作。这种集成方案适用于缓存、高并发等场景,有效提升数据处理效率。
261 2
|
27天前
|
Java 开发工具 Spring
【Azure Spring Cloud】使用azure-spring-boot-starter-storage来上传文件报错: java.net.UnknownHostException: xxxxxxxx.blob.core.windows.net: Name or service not known
【Azure Spring Cloud】使用azure-spring-boot-starter-storage来上传文件报错: java.net.UnknownHostException: xxxxxxxx.blob.core.windows.net: Name or service not known
|
28天前
|
NoSQL Java Redis
【Azure Spring Cloud】Java Spring Cloud 应用部署到Azure上后,发现大量的 java.lang.NullPointerException: null at io.lettuce.core.protocol.CommandHandler.writeSingleCommand(CommandHandler.java:426) at ... 异常
【Azure Spring Cloud】Java Spring Cloud 应用部署到Azure上后,发现大量的 java.lang.NullPointerException: null at io.lettuce.core.protocol.CommandHandler.writeSingleCommand(CommandHandler.java:426) at ... 异常
|
2月前
|
Java Spring
idea新建spring boot 项目右键无package及java类的选项
idea新建spring boot 项目右键无package及java类的选项
77 5
|
2月前
|
存储 Java Serverless
Java Spring Boot应用如何实现推送代码到指定仓库并自动部署
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。