Spring6.0全新发布,快来看看
的第二个里程碑和对应的Spring Boot 3.0第一个里程碑将和大家见面。的代理机制将失效, 请为此类控制器启用基于类的代理。的持久层规范也将在此次里程碑版本中完成迁移。此外,团队称预估整体的项目在11月正式 GA。),以及对其他基础设施的修改。也并非新的技术,前身是Java的J2EE。在本次里程碑版本中涉及到的两个核心容器规范。作为重大更新,他直接舍弃一以往版本的。不是什么新技术,那么由来在
Spring6.0全新发布,快来看看
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-RC2Spring 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
FieldValueTransformerAPI 的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第一个里程碑将和大家见面。
注:本文综合参考互联网信息、部分开源中国资料、部分官网资料、部分博客资料。
更多推荐




所有评论(0)