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

在这里插入图片描述

相关文章
|
10天前
|
IDE Java 开发工具
Spring Boot:加速Java后端开发的现代化利器
在当今快速迭代的软件开发环境中,Spring Boot 已成为Java后端开发领域的首选框架。作为Spring家族的一员,它以“约定优于配置”的设计理念,极大地简化了传统Spring应用的配置和部署过程,让开发者能够更加专注于业务逻辑的实现。本文将探讨Spring Boot的核心优势,并通过一个简单的示例展示如何快速启动一个基于Spring Boot的Java Web应用。
27 1
|
2天前
|
消息中间件 Java BI
使用Java和Spring Batch实现批处理
使用Java和Spring Batch实现批处理
|
4天前
|
安全 Java 数据安全/隐私保护
使用Java和Spring Security实现身份验证与授权
使用Java和Spring Security实现身份验证与授权
|
4天前
|
消息中间件 负载均衡 Java
Java和Spring Cloud构建分布式系统
Java和Spring Cloud构建分布式系统
|
7天前
|
负载均衡 Java 开发者
细解微服务架构实践:如何使用Spring Cloud进行Java微服务治理
【6月更文挑战第30天】Spring Cloud是Java微服务治理明星框架,整合Eureka(服务发现)、Ribbon(客户端负载均衡)、Hystrix(断路器)、Zuul(API网关)和Config Server(配置中心),提供完整服务治理解决方案。通过Eureka实现服务注册与发现,Ribbon进行负载均衡,Hystrix确保服务容错,Config Server集中管理配置,Zuul则作为API入口统一处理请求。理解和使用Spring Cloud是现代Java开发者的关键技能。
66 2
|
12天前
|
消息中间件 监控 Java
Java 框架界的‘巨星’Spring,让你的代码翩翩起舞!
【6月更文挑战第25天】Spring,Java框架的明星,以其依赖注入(DI)和面向切面编程(AOP)简化开发。DI协调类间协作,AOP提供日志、监控等附加功能。事务管理确保代码稳定性,注解如`@Transactional`自动化事务处理。Spring的集成能力使代码灵活适应多样技术场景,让编程变得优雅高效,犹如舞蹈般流畅。跟随Spring,让代码起舞!
|
12天前
|
供应链 Java 开发者
Spring 框架:Java 界的‘万能钥匙’,你的企业应用开发新宠!
【6月更文挑战第25天】# Spring框架:Java开发的基石!它提供一站式解决方案,涵盖依赖注入、AOP、事务管理等,简化复杂应用开发。通过注解如`@Service`、`@Autowired`实现代码解耦,`@Transactional`自动化事务处理,加上AOP实现全局日志记录,让维护变得简单。Spring,企业级开发的首选!
|
12天前
|
Java 开发者 Spring
从入门到精通,Spring 框架带你玩转 Java 企业应用开发!
【6月更文挑战第25天】Spring框架简化了Java企业开发,通过依赖注入降低耦合,如使用构造函数注入`UserService`中的`UserDao`。它还提供声明式事务管理,如`@Transactional`注解自动处理事务,减少手动错误。此外,Spring的AOP支持允许在不侵入业务逻辑的情况下实现横切关注点,如`LoggingAspect`所示。无论是新手还是资深开发者,Spring以其全面的功能和灵活性成为企业应用开发的强大工具。
|
12天前
|
前端开发 Java 开发者
Spring 框架:Java 企业应用开发领域的“隐形冠军”!
【6月更文挑战第25天】Spring框架在Java开发中扮演重要角色,提倡依赖注入、事务管理及面向切面编程的最佳实践。例如,通过`@Autowired`实现接口注入,保持代码松耦合;使用`@Transactional`确保数据一致性;借助`@Aspect`定义AOP切面,分离关注点;使用Java配置增强可维护性;以及在Spring MVC中利用注解驱动提升Web应用效率。遵循这些最佳实践,开发者能打造高效、可扩展的应用。
|
12天前
|
Java 关系型数据库 MySQL
为什么 Java 开发者都爱 Spring?只因这几点!
【6月更文挑战第25天】Spring 框架深受Java开发者喜爱,原因在于其强大的DI管理依赖,降低耦合;AOP支持横切关注点分离,增强代码模块化;出色的事务管理简化操作;以及丰富的扩展和集成能力,如示例中与MySQL的集成,提升开发效率和代码质量。