Spring 5的新功能和增强功能

Spring 5是第一个主要版本,距Spring Framework 4.0差不多四年了。在这段时间内,大多数增强功能都是在Spring boot项目中完成的。在本文中,我们将快速介绍Spring 5.0发行版中的一些令人兴奋的功能。

目录

基准升级
JDK 9运行时兼容性
JDK 8功能的使用
响应式编程支持
功能性Web框架
Kotlin支持
删除的功能

基准升级

要构建和运行Spring 5应用程序,您将需要最低的JDK 8和Java EE7。不再支持以前的JDK和Java EE版本。详细来说,Java EE 7包括–

与Java基准相似,许多其他框架的基准也有所变化。例如

  • Hibernate 5
  • Jackson 2.6
  • EhCache 2.10
  • JUnit 5
  • 瓷砖3

另外,记下各种服务器的最低支持版本。

  • Tomcat 8.5以上
  • 码头9.4+
  • WildFly 10+
  • 净值4.1+
  • 不足1.4以上

JDK 9运行时兼容性

Spring 5发行版与JDK 9发行日期非常吻合。我们的目标是在JDK 9的GA之后立即使Spring Framework 5.0成为GA。Spring 5.0的候选版本已经在类路径和模块路径上支持Java 9 。

您可以期望在GA版本中获得良好的JDK 9支持。

JDK 8功能的用法

在Spring 4.3之前,JDK的基线版本为6。因此Spring 4必须支持Java 6、7和8。为了保持向后兼容性,Spring框架并没有适应Java 8自身带来的许多新功能,例如Lambda编程

Spring 5具有基准版本8,因此它也使用Java 8和9的许多新功能。例如

  1. Spring核心接口中的Java 8 默认方法
  2. 基于Java 8反射增强的内部代码改进
  3. 在框架代码中使用函数式编程-lambda和 Stream

反应式编程支持

响应式编程是Spring Framework 5.0的最重要功能之一。响应式编程提供了另一种编程风格,专注于构建对事件做出反应的应用程序。Spring Framework 5包含响应式 Stream (用于定义响应式语言的中性语言尝试)和Reactor(Spring Pivotal团队提供的响应式 Stream 的Java实现),用于其自身的响应式使用以及其许多核心API。

Spring Web Reactive位于新spring-web-reactive模块中,位于该模块中现有( popular !)Spring Web MVC的旁边spring-webmvc。请注意,在Spring 5中,传统的Spring MVC可以在任何Servlet 3.1堆栈上运行,包括Java EE 7服务器。

功能性网络框架

在响应功能的基础上,Spring 5还提供了一个功能性的Web框架。它提供了使用功能性编程风格定义端点的功能。该框架引入了两个基本组件:HandlerFunctionRouterFunction

HandlerFunction代表处理传入的请求并生成响应的功能。RouterFunction用作@RequestMapping注解的替代方法。它用于将传入的请求路由到处理程序函数。例如

RouterFunction<String> route =
    route(GET("/hello-world"),
    request -> Response.ok().body(fromObject("Hello World")));

Kotlin支持

Kotlin是一种静态类型的JVM语言,它使代码具有表达力,简短性和可读性。Spring framework 5.0对Kotlin有很好的支持。

功能下降

随着Java,Java EE和其他一些框架的基准版本的增加,Spring Framework 5删除了对一些框架的支持。例如

  • Portlet
  • 速度
  • JasperReports
  • XMLBeans
  • JDO
  • 番石榴

学习愉快!

参考:链接

saigon has written 1440 articles

Leave a Reply