0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Spring Framework 6中的新功能有哪些呢

jf_ro2CN3Fa 来源:Way Lau 2023-02-03 15:13 次阅读

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 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

一般核心修订

升级到 ASM 9.4 和 Kotlin 1.7。

完整的 CGLIB fork,支持捕获 CGLIB 生成的类。

全面的向 AOT(Ahead-Of-Time Processing,提前处理)转型。

对 GraalVM 原生映像的一流支持。

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

核心容器

默认情况下,无需 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.micrometer1.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。





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ASM
    ASM
    +关注

    关注

    1

    文章

    65

    浏览量

    18893
  • Web服务器
    +关注

    关注

    0

    文章

    137

    浏览量

    24231
  • AOP
    AOP
    +关注

    关注

    0

    文章

    37

    浏览量

    11043
  • JDK
    JDK
    +关注

    关注

    0

    文章

    77

    浏览量

    16489

原文标题:Spring Framework 6 中的新功能和增强功能

文章出处:【微信号:芋道源码,微信公众号:芋道源码】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    java spring教程

    Spring核心概念介绍控制反转(IOC)依赖注入(DI)集合对象注入等Bean的管理BeanFactoryApplicationContextSpring 在web的使用
    发表于 09-11 11:09

    什么是java spring

    不容易用传统OOP实现的功能可以通过AOP轻松应付。◆声明式事务的支持       在Spring,我们可以从单调烦闷的事务管理代码
    发表于 09-11 11:16

    Spring工作原理

    的依赖关系核心:bean工厂;在Spring,bean工厂创建的各个实例称作bean二.AOP(Aspect-Oriented Programming): 面向方面编程1.代理的两种方式:静态代理
    发表于 07-10 07:41

    Spring bootRedis的使用

    【本人秃顶程序员】springboot专辑:Spring bootRedis的使用
    发表于 03-27 11:42

    Spring笔记分享

    Spring实现了使用简单的组件配置组合成一个复杂的应用。在 Spring 可以使用XML和Java注解组合这些对象。6) 一站式:在IOC和AOP的基础上可以整合各种企业应用的开
    发表于 11-04 07:51

    Spring认证」Spring Hello World 项目示例

    让我们开始使用 Spring Framework 进行实际编程。在开始使用 Spring 框架编写第一个示例之前,您必须确保已按照Spring - 环境设置章节
    发表于 08-17 13:49

    GPIO功能有哪几种

    怎样根据STM32F207参考手册的GPIO框图讲解GPIO功能?GPIO功能有哪几种
    发表于 10-19 10:20

    如何通过USB升级代码去实现程序的下载更新功能

    通过USB接口来实现IAP功能需要如何做?如何通过USB升级代码去实现程序的下载更新功能
    发表于 11-12 08:10

    为什么要学习SpringSpring核心基础教程详解?

    Framework 的核心功能可用于开发任何 Java 应用程序,但有一些扩展可用于在 Java EE 平台之上构建 Web 应用程序。Spring 框架旨在通过启用基于 POJO 的编程模型
    的头像 发表于 08-11 16:00 456次阅读
    为什么要学习<b class='flag-5'>Spring</b>?<b class='flag-5'>Spring</b>核心基础教程详解?

    Spring认证」Spring 框架概述

    Spring 框架是一个开源的 Java 平台。它最初由 Rod Johnson 编写,并于 2003 年 6 月在 Apache 2.0 许可下首次发布。 Spring Framework 的核心
    的头像 发表于 08-12 15:07 491次阅读
    「<b class='flag-5'>Spring</b>认证」<b class='flag-5'>Spring</b> 框架概述

    Spring Framework 6.0发布了首个RC版本

    发布公告写道,Spring Framework 6.0 作为重大更新,目前 RC1 要求使用 Java 17 或更高版本,并且已迁移到 Jakarta EE 9+(在 jakarta 命名空间中取代了以前基于 javax 的 EE API),以及对其他基础设施的修改。
    的头像 发表于 11-14 15:38 457次阅读

    Spring Cloud 2022.0.0正式发布

    由于 Spring 现在提供了他们自己实现的接口 HTTP 客户端解决方案,因此从 2022.0.0 开始,Spring Cloud OpenFeign 已到达特性完成状态。这意味着 Spring Cloud 团队不会再向该模块
    的头像 发表于 12-22 10:39 490次阅读

    解读Spring源码中的IOC和AOP部分

    Spring Framework 是一个非常流行的开源框架,为 Java 应用程序提供了广泛的支持和功能
    的头像 发表于 06-06 15:49 562次阅读

    wakeup events framework三大功能介绍

    wakeup events framework 就包括 3 大功能: 1. 解决内核空间同步问题(framework 的核心功能)        2. 解决用户空间同步问题的情景1(w
    的头像 发表于 09-11 16:21 394次阅读

    Spring Cloud :打造可扩展的微服务网关

    Spring Cloud Gateway是一个基于Spring Framework 5和Project Reactor的反应式编程模型的微服务网关。它提供了丰富的功能,包括动态路由、请
    的头像 发表于 10-22 10:03 261次阅读
    <b class='flag-5'>Spring</b> Cloud :打造可扩展的微服务网关