春季 5

春天5发布于2017年底,春天5给春天框架带来了巨大的更新,春天4发布于2013年,所以大家都期待着对春天框架进行重大修订,我很高兴看到春天框架的新功能。

春天五个特点

春五特征可以广泛分为以下类别:

  • Java Baseline 支持 *核心 API 改进
  • 春季 Web MVC 改进
  • [春季 WebFlux](/社区/教程/春季 Webflux 反应式编程)
  • Kotlin 支持功能编程
  • 测试改进
  • 缺少支持和删除包

Java Baseline 支持

  • 春季 5 运行在 Java 8 上,所以春季代码可以利用 lambda 表达式来提高代码可读性.
  • 春季 5 也支持 java 9,所以我们也可以在模块基础架构上创建我们的应用程序
  • 春季 5 支持 Java EE 7,也兼容 Java EE 8,所以我们可以在我们的应用程序中使用 Servlet 4.0, Bean Validation 2.0, JPA 2.2

我真的很喜欢春天5试图抓住不同技术的最新版本。

核心 API 改进

可撤回的参数、字段和返回值被明确标注为@Nullable *文件操作是通过NIO 2流进行的,即没有FileInput/Output Stream。这对于基于文件的应用程序来说是一个很好的增强和性能提升

  • Spring Framework 5.0 配备了自己的 Commons Logging 桥梁;spring-jcl而不是标准的 Commons Logging *支持通过索引文件META-INF/spring.components提供 Spring 组件信息,而不是通过类路径扫描。

春天 MVC Web 改进

春季MVC模块在使用最新的Java EE技术方面取得了重大改进,其中一些主要的改进是:

支持Servlet 4.0PushBuilder论点在Spring MVC控制器方法

  • MaxUploadSizeExceededException for Servlet 3.0 multipart parsing on common servers *通过MediaTypeFactory代理统一支持常见媒体类型 *使用Kotlin(Lombok)(/community/tutorials/java-project-lombok), @ConstructorProperties 支持 JSON Binding API作为替代杰克逊和GSON(MBR_Exponse_K1_tatues)的数据绑定,支持Reactor 3.1 F_xono**和Mono

春天的WebFlux

Spring WebFlux是新的模块,它是春季webmvc模块的替代品,建立在反应式框架上。

例如,编码器和解码器用于编码和解码对象流

  • @Controller 风格,注释为基础的编程模型,类似于 Spring MVC,但在 WebFlux 中支持,运行在反应堆
  • 新 WebClient 具有 HTTP 呼叫的功能和反应式 API,与 RestTemplate 相似,但通过流畅的 API,并在基于 WebFlux 基础设施的非封锁和流媒体场景中表现出色

Kotlin 支持的功能编程

Spring 5 现在也支持 Kotlin 编程,这对支持功能编程是一大步,就像 Java 也在向功能编程迈进一样。

  • 支持 Null-Safe API
  • 支持可选参数和默认值的 Kotlin 不可变类
  • 利用 Kotlin 修复类型参数以避免明确指定类型用于各种 API 中的序列化/deserialization(如 RestTemplate 或 WebFlux API)。

测试改进

  • 支持 JUnit 5
  • 支持春季测试背景框架中的并行测试

受损的支持和删除的包

已删除beans.factory.access,jdbc.support.nativejdbc,mock.staticmockspring-aspects模块 *已删除web.view.tiles2orm.hibernate3/hibernate4的软件包,这意味着如果您计划使用 Spring 5,您还需要使用 Hibernate 5.

  • 已删除对旧技术的支持 Portlet, Velocity, JasperReports, XMLBeans, JDO, Guava。如果您正在使用这些软件,那么要么迁移到其他一些技术,要么留在 Spring 4.

这是所有关于春天5功能的快速概述。 参考: 春天GitHub文档

Published At
Categories with 技术
Tagged with
comments powered by Disqus