Spring6.0全新发布,快来看看

简介: Spring Framework 6.0 发布了首个 RC 版本。

Spring Framework 6.0 发布了首个 RC 版本。

网络异常,图片无法展示
|

翻译后页面(有点好笑):

网络异常,图片无法展示
|

On behalf of the team and everyone who has contributed, I am pleased to announce that Spring Framework is available now.6.0.0-RC2

Spring Framework includes 6.0.0-RC228 fixes and improvements. Stay tuned for the announcement of Spring Boot later today!3.0.0-RC1

主要关注点如下:

网络异常,图片无法展示
|

Spring6.0.0-RC2版本与SpringBoot3.0.0-RC1版本发布。

新特性

  • 确保可以在构建时评估 classpath 检查
  • 为 JPA 持久化回调引入 Register 反射提示
  • 检查 @RegisterReflectionForBinding 是否至少指定一个类
  • 为 AOT 引擎设置引入 builder API
  • 支持检测正在进行的 AOT 处理
  • 重新组织 HTTP Observation 类型
  • 支持在没有 java.beans.Introspector 的前提下,执行基本属性判断
  • 为BindingReflectionHintsRegistrar 添加 Kotlin 数据类组件支持
  • 将 HttpServiceFactory 和 RSocketServiceProxyFactory 切换到 builder 模型,以便优先进行可编程配置
  • 引入基于 GraalVM FieldValueTransformer API 的 PreComputeFieldFeature
  • 在 TestContext 框架中引入 SPI 来处理 ApplicationContext 故障
  • SimpleEvaluationContext 支持禁用 array 分配
  • DateTimeFormatterRegistrar 支持默认回退到 ISO 解析

Spring Framework 6.0作为重大更新,他直接舍弃一以往版本的JDK,要求使用JDK17或者以上版本。

Spring6.0已迁移到 Jakarta EE 9+(在 jakarta 命名空间中取代了以前基于 javax 的 EE API),以及对其他基础设施的修改。基于这些变化,Spring Framework 6.0 支持最新 Web 容器,如 Tomcat 10 / Jetty 11,以及最新的持久性框架 Hibernate ORM 。

这些特性仅可用于 Servlet API 和 JPA 的jakarta 命名空间变体。

Jakarta EE也并非新的技术,前身是Java的J2EE。

除此之外,还有一些新的改进和特性:

  • 提供基于 @HttpExchange 服务接口的 HTTP 接口客户端
  • 对 RFC 7807 问题详细信息的支持
  • Spring HTTP 客户端提供基于 Micrometer 的可观察性
  • ……

变化

Spring Framework 6.0第一个里程碑版本已经发布,目前已经可以从Spring Repo`获取。

JavaEE迁移

上面说到,Jakarta EE不是什么新技术,那么由来在这说一下。

甲骨文已经把Java EE捐献给Eclipse基金会数年了。Java EE的名称也变更为了Jarkarta EE,包名也相应地从javax变更为jakarta。例如javax.persistence现在对应为jakarta.persistence。

持久层

Jakarta EE的持久层规范也将在此次里程碑版本中完成迁移。这意味着javax.persistence和jakarta.validation都将实装。对应 Hibernate ORM 5.6.x 和 Hibernate Validator 7.0.x 。

核心容器变更

在本次里程碑版本中涉及到的两个核心容器规范JSR-250和JSR-330的包名都会迁移到Jakarta EE。

Web 应用变更

Servlet中间件基准线

由于Jakarta EE的合并迁移,Servlet中间件也要进行升级。Tomcat 10, Jetty 11, 或者基于undertow-servlet-jakarta 的 Undertow 2.2.14 是目前里程碑版本的基准线。

进一步移除过时API

一些过时的基于Servlet的组件已经在本次里程碑版本中移除。

  • Commons FileUpload 上传组件已经被移除。
  • 相关的前后端模板Tiles布局组件例如FreeMarker、JSP停止了支持。现在Spring将精力放在了基于Restful的Web架构。
Controller扫描机制变动

现在Spring MVC和Spring WebFlux将不再将类上单独有@RequestMapping的Spring Bean视为控制器。在6.0之前默认情况以下代码是可以的。

6.0之前相关基于AOP的代理机制将失效, 请为此类控制器启用基于类的代理 。

在6.0之后默认情况下必须有@Controller或@RestController注解才可以被视为控制器。

HttpMethod

请求方法HttpMethod在6.0之前为Java枚举。

在6.0以后改为Java类。

前沿

此外,团队称预估整体的项目在11月正式 GA。

在2022年的1月份Spring Framework 6.0的第二个里程碑和对应的Spring Boot 3.0第一个里程碑将和大家见面。

注:本文综合参考互联网信息、部分开源中国资料、部分官网资料、部分博客资料。

相关文章
|
移动开发 算法
科学计算与仿真-高斯牛顿法的非线性最小二乘问题简单介绍与应用
科学计算与仿真-高斯牛顿法的非线性最小二乘问题简单介绍与应用
科学计算与仿真-高斯牛顿法的非线性最小二乘问题简单介绍与应用
|
10月前
|
jenkins Linux 持续交付
Jenkins的Agent服务器环境配置
本文介绍Jenkins Agent服务器的完整环境配置,涵盖Maven、Node、Ant构建工具部署,Docker及docker-compose离线安装,Kubernetes(kubectl)与Helm客户端配置,CCE连接认证,以及JDK安全策略调整以支持旧版SVN。适用于自动化编译、镜像构建与集群部署。
|
存储 Cloud Native 块存储
EBS深度解析:云原生时代企业级块存储
企业上云的策略,从 Cloud-Hosting 转向 Serverless 架构。块存储作为企业应用上云的核心存储产品,将通过 Serverless 化来加速新的计算范式全面落地。在本话题中,我们将会介绍阿里云块存储企业级能力的创新,深入解析背后的技术细节,分享对未来趋势的判断。
1309 3
|
JSON 前端开发 安全
跨域问题产生的原因以及解决方案
【10月更文挑战第9天】跨域问题是前端开发中不可避免的一个问题,了解其产生的原因以及掌握多种解决方案是非常重要的。在实际应用中,需要根据项目的具体情况和需求,选择合适的解决方案,并不断关注跨域问题的发展趋势,以便及时应对新的挑战。
|
人工智能 API C#
动手学Avalonia:基于SemanticKernel与硅基流动构建AI聊天与翻译工具
动手学Avalonia:基于SemanticKernel与硅基流动构建AI聊天与翻译工具
644 2
|
负载均衡 网络协议 Java
Eureka注册的服务间调用方法
【8月更文挑战第12天】Eureka注册的服务间调用方法
679 1
|
JSON Java API
jackson序列化和反序列化中的注解和扩展点大全【收藏】
jackson序列化和反序列化中的注解和扩展点大全【收藏】
|
前端开发 JavaScript NoSQL
"从零到一:全方位解析现代Web开发技术栈
【7月更文挑战第9天】在当今快速发展的互联网时代,Web开发技术日新月异,为开发者提供了前所未有的创新空间。本文将从基础到高级,全面解析现代Web开发技术栈,帮助初学者或希望升级技能树的开发者构建稳固的知识体系。我们将探讨前端、后端以及全栈开发的关键技术,并通过一个简单的项目示例来演示这些技术的实际应用。
2257 1
|
小程序 前端开发 JavaScript
微信小程序|英语学习交流平台小程序
微信小程序|英语学习交流平台小程序
626 1
|
Go
深度探讨 Golang 中并发发送 HTTP 请求的最佳技术
深度探讨 Golang 中并发发送 HTTP 请求的最佳技术
646 0