Redian新闻
>
Spring Framework 6 中的新功能和增强功能

Spring Framework 6 中的新功能和增强功能

公众号新闻

点击上方“芋道源码”,选择“设为星标

管她前浪,还是后浪?

能浪的浪,才是好浪!

每天 10:33 更新文章,每天掉亿点点头发...

源码精品专栏

 
来源:waylau.com/new-features
-and-enhancements-in-spring-
framework-6/

Spring 6 是一个重要的版本,距离 Spring 5 发布有四年多了。通过本文的介绍,我们一起来快速了解 Spring 6发行版中的那些令人兴奋的特性。

JDK 17+ 和 Jakarta EE 9+ 基线

  • 现在基于Java 17 源代码级别的整个框架代码库。
  • Servlet、JPA 等从 javax 迁移到 Jakarta 命名空间。
  • 运行时与 Jakarta EE 9 以及 Jakarta EE 10 API 的兼容性。
  • 与最新的Web服务器兼容:Tomcat 10.1、Jetty 11、Undertow 2。
  • 早期兼容虚拟线程(从 JDK 19 开始预览)。

基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/ruoyi-vue-pro
  • 视频教程:https://doc.iocoder.cn/video/

一般核心修订

  • 升级到 ASM 9.4 和 Kotlin 1.7。
  • 完整的 CGLIB fork,支持捕获 CGLIB 生成的类。
  • 全面的向 AOT(Ahead-Of-Time Processing,提前处理)转型。
  • 对 GraalVM 原生映像的一流支持。

基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/yudao-cloud
  • 视频教程:https://doc.iocoder.cn/video/

核心容器

  • 默认情况下,无需 java.beans.Introspector 来确定基本 bean 属性。
  • 在 GenericApplicationContext (refreshForAotProcessing) 中的支持 AOT 处理。
  • 基于预解析构造函数和工厂方法的 Bean 定义转换。
  • 支持 AOP 代理和配置类的早期代理类确定。
  • PathMatchingResourcePatternResolver 使用 NIO 和模块路径 API 进行扫描,分别支持 GraalVM 本机映像和 Java 模块路径中的类路径扫描。
  • DefaultFormattingConversionService 支持基于 ISO 的默认 java.time 类型解析。

数据访问和事务

  • 支持预定 JPA 托管类型(用于包含在 AOT 处理中)。
  • JPA 支持 Hibernate ORM 6.1(保持与 Hibernate ORM 5.6 的兼容性)。
  • 升级到 R2DBC 1.0(包括 R2DBC 事务定义)。
  • 删除 JCA CCI 支持。

Spring 消息传递

  • 基于 @RSocketExchange 服务接口的 RSocket 接口客户端。
  • 基于 Netty 5 Alpha 的 Reactor Netty 2 的早期支持。
  • 支持 Jakarta WebSocket 2.1 及其标准 WebSocket 协议升级机制。

通用 Web 修订

  • 基于 @HttpExchange 服务接口的HTTP接口客户端。
  • 支持 RFC 7807 问题详细信息.
  • 统一 HTTP 状态码处理。
  • 支持 Jackson 2.14。
  • 与 Servlet 6.0 对齐(同时保留与 Servlet 5.0 的运行时兼容性)。

Spring MVC

  • 默认情况下使用的 PathPatternParser(能够选择进入 PathMatcher)。
  • 删除过时的 Tiles 和 FreeMarker JSP 支持。

Spring WebFlux

  • 新的 PartEvent API 用于流式传输多部分表单上传(两者都在客户端和服务器)。
  • 新的 ResponseEntityExceptionHandler 用于自定义 WebFlux 异常并呈现 RFC 7807 错误响应。
  • 非流媒体类型的 Flux 返回值(写入前不再收集到 List)。
  • 基于 Netty 5 Alpha 的 Reactor Netty 2 的早期支持。
  • JDK HttpClient 与 WebClient 集成。

可观察性

  • Micrometer Observation 直接可观察性在 Spring 框架中的部分应用。spring-web 模块现在需要 io.micrometer:micrometer-observation:1.10+ 作为编译依赖项。
  • RestTemplate 和 WebClient 被检测为生成 HTTP 客户端请求观察。
  • Spring MVC 可以使用新的 org.springframework.web.filter.ServerHttpObservationFilter 检测 HTTP 服务器观察。
  • Spring WebFlux 可以使用新的 org.springframework.web.filter.reactive.ServerHttpObservationFilter 检测 HTTP 服务器观察。
  • 对于 Flux 和 Mono 的 Micrometer Context Propagation 集成,从控制器方法返回值。

测试

  • 支持在 JVM 上或 GraalVM 本机映像中测试 AOT 处理的应用程序上下文。
  • 集成 HtmlUnit 2.64 + 请求参数处理。
  • Servlet 模拟(MockHttpServletRequest、MockHttpSession)现在基于 Servlet API 6.0。

参考引用

  • https://spring.io/blog/2022/11/16/spring-framework-6-0-goes-ga
  • Spring 5 开发大全(北京大学出版社出版)https://github.com/waylau/spring-5-book


欢迎加入我的知识星球,一起探讨架构,交流源码。加入方式,长按下方二维码噢

已在知识星球更新源码解析如下:

最近更新《芋道 SpringBoot 2.X 入门》系列,已经 101 余篇,覆盖了 MyBatis、Redis、MongoDB、ES、分库分表、读写分离、SpringMVC、Webflux、权限、WebSocket、Dubbo、RabbitMQ、RocketMQ、Kafka、性能测试等等内容。

提供近 3W 行代码的 SpringBoot 示例,以及超 4W 行代码的电商微服务项目。

获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。

文章有帮助的话,在看,转发吧。

谢谢支持哟 (*^__^*)

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
CVPR 2023 Workshop | 视频增强质量评价挑战赛启动!天赋“易昺(bǐng)”,创造历史!精选Data岗位 | CGI、Juniper Networks、Lacework发布最新岗位!Darklang变身DarklangGPT“濒死一博”超级麻豆的《俄勒冈州行摄日记》China Mulls Allowing Single Women to Freeze Eggs限时领 | 新加坡英语SAP Learning English Workbook 1-6年级,是怎样一种神奇的语言?胆管癌治疗II期试验结果积极,Zymeworks股价飙升近30%对话 Spring 大神:Spring 生态系统的新时代来了!In China, a Dark New Black Market Emerges: Fake COVID Medication精选SDE岗位 | Affirm Holdings、Addepar、Lacework发布最新岗位!明年的新 iPhone 和 Android 旗舰,可能都会标配这个新功能聊聊 Java 20 的新功能Hadoop/Spark 太重,esProc SPL 很轻多彩班芙行(6)-步道的虐恋Spring for Apache Kafka 3.0 和 Spring for RabbitMQ 3.0 发布Far From Home: Meet the Migrants Returning to ShanghaiChinese Cities Allow Spring Festival Fireworks Amid COVID Blues深度好文|商学院私藏面试常用Framework,帮你省掉百万学费!A Celebrity’s Sweater From the Spring Festival Gala Goes ViralSpringBoot+Prometheus+Grafana 实现自定义监控COSTCO新发现和经常买的美味食物TruEdu Winter/Spring 22/23 Workshop微软为 Word 推出超好用新功能,希望微信也能「抄作业」| Feel Good 周报​美股SPAC|太空旅行公司World View宣布与SPAC合并,估值3.5亿美元日常两则别只会 SpringMVC 了!Spring 又官宣了一个更牛逼的替代框架!Chinese Boss’ Call to Work Weekends Sparks Debate on OvertimeJava 近期新闻:Gradle 8.0、Maven、Payara 平台、Piranha、Spring Framework打卡,Goodbye Spring BreakStaying Negative: New Covid Policies Bring Memes AplentyWhy it’s time to get shot of coffee meetings at work一文详解Prompt学习和微调(Prompt Learning & Prompt Tuning)China’s Workforce Is Aging, New Report Finds精选SDE岗位 | MathWorks、Adobe 、Vectorworks发布新岗位!慎终追远 信仰的颠覆(六十七)
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。