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-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第一个里程碑将和大家见面。

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

Spring6.0全新发布,快来看看相关推荐

  1. 少儿全学科知识学习、复习、训练的免费福利,少儿知识训练大师 5.0 全新发布:真人语音、插件题库、全新功能

    孩子全学科复习.强化训练学习的必备工具,各种学科和知识问题库无限发挥.任意组合,配合本地.在线语音合成和识别引擎,为您打造真人级朗读和交互效果,更适合少儿的生动学习场景,本软件还是免费的哦! 新版软件 ...

  2. 字体研发新革命-unicode13.0全新发布,中日韩统一表意文字扩展G大区

    字体研发新革命-unicode13.0全新发布,中日韩统一表意文字扩展G大区,据了解,目前中国汉语地区仅有逐浪字库(f.ziti163.com)做好了准备,并全面扩展为unicode 13,同时他们还 ...

  3. 百度地图SDK for iOS v2.0.0全新发布

    百度地图SDK for iOS v2.0.0全新发布,全新矢量版地图,全新视觉体验! 百度地图 iOS SDK是一套基于iOS4.3及以上(iOS SDKv1.2.3及以前版本支持iOS3.0及以上) ...

  4. 银河麒麟 安卓nginx_银河麒麟Kydroid 2.0全新发布:原生支持海量安卓APP

    上方文 近些年,国产芯片不断迅猛发展,CPU处理器有龙芯.飞腾等竞技,而有了硬件,更要有系统和软件生态,这方面的进展也值得肯定. Kydroid是麒麟团队和技德系统为"银河麒麟操作系统&qu ...

  5. 启动root用户 银河麒麟_银河麒麟Kydroid 2.0全新发布:原生支持海量安卓APP

    上方文 近些年,国产芯片不断迅猛发展,CPU处理器有龙芯.飞腾等竞技,而有了硬件,更要有系统和软件生态,这方面的进展也值得肯定. Kydroid是麒麟团队和技德系统为"银河麒麟操作系统&qu ...

  6. C#超级通信调试工具[v1.0][全新发布]

    因原来的版本号过于混乱.为了以后版本发布的更严谨,重新制定了版本号为1.0. 软件名称:C#超级通信调试工具 最新版本:1.0 开发工具:VS2010  语言:C# .NET2.0 QQ:209244 ...

  7. Java开发神器——MyEclipse CI 2019.4.0 全新发布(附下载)

    MyEclipse线上特惠,在线立享专属折扣!火热开启中>> MyEclipse 2019的升级版本中,推出对Java 11的支持.性能改进及新的连接器等. [MyEclipse CI 2 ...

  8. 百度地图SDK for iOS v2.1.0全新发布

    2013年10月12日 百度地图iOS SDK : V2.1.0矢量版SDK上线 新增: 全面接入LBS.云V2.0,全面开放LBS.云检索能力 在BMKCloudSearchInfo中新增类BMKB ...

  9. Spring Boot 2.4.0 全新发布,还不快来实战

    Spring Boot 如今已成为 Java 开发必学技术,其可以大大简化 Spring 应用的初始搭建以及开发过程. Spring Boot 不仅支持直接嵌入 Tomcat,Jetty 或 Unde ...

最新文章

  1. 宁波大红鹰学院计算机毕设,网络文化对价值观的影响调查报告马克思主义基本原理概论》课程调查实践报告大学毕业设计.doc...
  2. 蚂蚁从飞机上掉下来的数学建模分析
  3. centos7 yum下载路径
  4. 线性代数与矩阵论 习题 1.2.2
  5. (转)Oracle中实现行列转换的方法
  6. android mp4语音识别,怎样用语音识别将一段视频转化为文字, 比如:百度的语音识别api...
  7. mongoimport csv文件
  8. Linux下互斥量加锁与解锁操作的C代码实现
  9. 【智驾深谈】想拿自动驾驶融资,先过VC这16问
  10. paip.c++ qt 目录遍历以及文件操作
  11. php怎么做性格测试题目,PHP和原生JS实现九型人格在线测试(144题)
  12. docker安装镜像
  13. 电脑鼠标右键应用卡死、转圈圈、资源管理器关闭等问题
  14. 解决windows 10下文件名太长无法删除的问题
  15. 什么是Scheme?原来还可以这样应用!
  16. C/C++语言编程规范
  17. 微盟集团上半年业绩逆势增长:抢滩在线新经济未来前景获看好
  18. prosper loan data EDA分析(特征字典)
  19. 这一季绿色智能制造“英雄联盟”已集结, 有哪些新鲜点?
  20. android 推流方案,Android 推流-录屏状态时获取推流信息

热门文章

  1. JS_map遍历数组
  2. C#常用命名空间集合
  3. linux 符号链接有什么用,硬链接和符号链接有什么区别?
  4. 蓝牙运动耳机排行榜,目前排名最好的运动耳机推荐
  5. 如何将CAD图纸复制到另一张图纸上?
  6. 话费充值api接口--专业、稳定的技术对接
  7. java - 解决idea代码自动提示功能消失的问题
  8. Win11 如何删除全部自带软件
  9. 【鸿蒙OS开发入门】16 - 重头搭建Ubuntu新环境编译OpenHarmony 3.0 LTS
  10. 记录Manjaro Linux安装nvidia显卡驱动失败的经历更新内核出问题如何修复