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

在这里插入图片描述

相关文章
|
26天前
|
Java 开发者 微服务
Spring Boot 入门:简化 Java Web 开发的强大工具
Spring Boot 是一个开源的 Java 基础框架,用于创建独立、生产级别的基于Spring框架的应用程序。它旨在简化Spring应用的初始搭建以及开发过程。
48 6
Spring Boot 入门:简化 Java Web 开发的强大工具
|
1月前
|
人工智能 前端开发 Java
基于开源框架Spring AI Alibaba快速构建Java应用
本文旨在帮助开发者快速掌握并应用 Spring AI Alibaba,提升基于 Java 的大模型应用开发效率和安全性。
218 12
基于开源框架Spring AI Alibaba快速构建Java应用
|
2月前
|
前端开发 Java 数据库连接
Spring 框架:Java 开发者的春天
Spring 框架是一个功能强大的开源框架,主要用于简化 Java 企业级应用的开发,由被称为“Spring 之父”的 Rod Johnson 于 2002 年提出并创立,并由Pivotal团队维护。
92 1
Spring 框架:Java 开发者的春天
|
1月前
|
存储 运维 安全
Spring运维之boot项目多环境(yaml 多文件 proerties)及分组管理与开发控制
通过以上措施,可以保证Spring Boot项目的配置管理在专业水准上,并且易于维护和管理,符合搜索引擎收录标准。
44 2
|
2月前
|
SQL JSON Java
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和PageHelper进行分页操作,并且集成Swagger2来生成API文档,同时定义了统一的数据返回格式和请求模块。
79 1
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
|
2月前
|
Java 数据库连接 开发者
Spring 框架:Java 开发者的春天
【10月更文挑战第27天】Spring 框架由 Rod Johnson 在 2002 年创建,旨在解决 Java 企业级开发中的复杂性问题。它通过控制反转(IOC)和面向切面的编程(AOP)等核心机制,提供了轻量级的容器和丰富的功能,支持 Web 开发、数据访问等领域,显著提高了开发效率和应用的可维护性。Spring 拥有强大的社区支持和丰富的生态系统,是 Java 开发不可或缺的工具。
|
1月前
|
Java 数据库连接 API
Spring 框架的介绍(Java EE 学习笔记02)
Spring是一个由Rod Johnson开发的轻量级Java SE/EE一站式开源框架,旨在解决Java EE应用中的多种问题。它采用非侵入式设计,通过IoC和AOP技术简化了Java应用的开发流程,降低了组件间的耦合度,支持事务管理和多种框架的无缝集成,极大提升了开发效率和代码质量。Spring 5引入了响应式编程等新特性,进一步增强了框架的功能性和灵活性。
49 0
|
2月前
|
存储 人工智能 Java
将 Spring AI 与 LLM 结合使用以生成 Java 测试
AIDocumentLibraryChat 项目通过 GitHub URL 为指定的 Java 类生成测试代码,支持 granite-code 和 deepseek-coder-v2 模型。项目包括控制器、服务和配置,能处理源代码解析、依赖加载及测试代码生成,旨在评估 LLM 对开发测试的支持能力。
56 1
|
2月前
|
人工智能 缓存 Java
深入解析Spring AI框架:在Java应用中实现智能化交互的关键
【10月更文挑战第12天】Spring AI 是 Spring 框架家族的新成员,旨在满足 Java 应用程序对人工智能集成的需求。它支持自然语言处理、图像识别等多种 AI 技术,并提供与云服务(如 OpenAI、Azure Cognitive Services)及本地模型的无缝集成。通过简单的配置和编码,开发者可轻松实现 AI 功能,同时应对模型切换、数据安全及性能优化等挑战。
219 3
|
2月前
|
缓存 NoSQL Java
Springboot自定义注解+aop实现redis自动清除缓存功能
通过上述步骤,我们不仅实现了一个高度灵活的缓存管理机制,还保证了代码的整洁与可维护性。自定义注解与AOP的结合,让缓存清除逻辑与业务逻辑分离,便于未来的扩展和修改。这种设计模式非常适合需要频繁更新缓存的应用场景,大大提高了开发效率和系统的响应速度。
88 2