乐趣区

关于后端:Spring60全新发布快来看看

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

主页:CN.ITLTT.COM

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 命名空间中取代了以前基于 javaxEE API),以及对其余基础设施的批改。基于这些变动,Spring Framework 6.0 反对最新 Web 容器,如 Tomcat 10 / Jetty 11,以及最新的持久性框架 Hibernate ORM
这些个性仅可用于 Servlet APIJPAjakarta 命名空间变体。

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.persistencejakarta.validation都将实装。对应 Hibernate ORM 5.6.xHibernate Validator 7.0.x

外围容器变更

在本次里程碑版本中波及到的两个外围容器标准 JSR-250JSR-330的包名都会迁徙到Jakarta EE

Web 利用变更

Servlet 中间件基准线

因为 Jakarta EE 的合并迁徙,Servlet中间件也要进行降级。Tomcat 10, Jetty 11, 或者基于undertow-servlet-jakartaUndertow 2.2.14 是目前里程碑版本的基准线。

进一步移除过期 API

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

  • Commons FileUpload 上传组件曾经被移除。
  • 相干的前后端模板 Tiles 布局组件例如 FreeMarkerJSP 进行了反对。当初 Spring 将精力放在了基于 RestfulWeb架构。
Controller 扫描机制变动

当初 Spring MVCSpring WebFlux将不再将类上独自有 @RequestMappingSpring Bean视为控制器。在 6.0 之前默认状况以下代码是能够的。

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

6.0 之后默认状况下必须有 @Controller@RestController注解才能够被视为控制器。

HttpMethod

申请办法 HttpMethod6.0之前为 Java 枚举。

6.0 当前改为 Java 类。

前沿

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

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

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

退出移动版