博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring 5.0 GA版本发布,支持JDK9及反应式编程
阅读量:7211 次
发布时间:2019-06-29

本文共 2892 字,大约阅读时间需要 9 分钟。

Spring Framework 5.0耗时两年,终于在9月28日通过Spring撰文宣告发布第一个GA版本。期间经历1年多的里程碑版本和数个RC版本,现在 5.0.0.RELEASE已正式发布到了repo.spring.io和Maven中央仓库,开发者可以通过Maven或Gradle快速获取和体验: 

\\

Maven:

\\
\\u0026lt;dependencies\u0026gt;\  \u0026lt;dependency\u0026gt;\    \u0026lt;groupId\u0026gt;org.springframework\u0026lt;/groupId\u0026gt;\    \u0026lt;artifactId\u0026gt;spring-context\u0026lt;/artifactId\u0026gt;\    \u0026lt;version\u0026gt;5.0.0.RELEASE\u0026lt;/version\u0026gt;\  \u0026lt;/dependency\u0026gt;\\u0026lt;/dependencies\u0026gt;\
\\

Gradle:

\\
\dependencies {\  compile 'org.springframework:spring-context:5.0.0.RELEASE'\}\
\\

快速了解5.0

\\
  • \\t
  • \\t
  • Spring Framework 5 \\t
  • \\t
  • Pieter关于Spring Framework 5.0中反应式编程的全面介绍\

新特性简介

\\
  • 要求JDK 8+和Java EE 7+ 
    \\t整个框架的代码库基于Java 8源码级别,通过泛型推断和lambda等提升了可读性。全面兼容JDK9,同时支持类路径classpath和模块路径module path;整个框架在JDK 9上编译和执行测试用例,默认依然使用JDK 8。支持JavaEE 7 API,包括Servlet 3.1、Bean Validation 1.1、JPA 2.1和JMS 2.0,以及最新的容器和服务器Tomcat 8.5+、 Jetty 9.4+、 WildFly 10+等。在运行时兼容Java EE 8 API,包括Servlet 4.0、 Bean Validation 2.0、 JPA 2.2和JSON Binding API 1.0,并在Tomcat 9.0、 Hibernate Validator 6.0和Apache Johnzon 1.1测试通过。\\t
  • 移除了的包、类和方法 
    \\t移除了包beans.factory.access、jdbc.support.nativejdbc、spring-aspects模块中的mock.staticmock、web.view.tiles2以及orm.hibernate3/hibernate4。不再支持Portlet、Velocity、JasperReports、XMLBeans、JDO和 Guava。\\t
  • 常规核心修订 
    \\t包括针对JDK 8+的增强和对JDK 9的兼容,包级别的非空API声明。5.0现在有了自己的Commons Logging桥接,会自动探测 Log4j 2.x、SLF4J及JUL (java.util.logging),不再需要外部的桥接程序。spring-core自带ASM6.0(同时还包括CGLIB 3.2.5和Objenesis 2.6)。\\t
  • 核心容器 
    \\t支持 @Nullable注解作为可选注入点声明;函数式GenericApplicationContext/AnnotationConfigApplicationContext;接口方法上的事务、缓存和异步注解一致性探测。\\t
  • Spring Web MVC 
    \\t通过Spring自带的Filter实现全面支持Servlet 3.1;controller方法中支持Servlet 4.0的PushBuilder参数;针对Servlet 3.0 multipart解析时增加 MaxUploadSizeExceededException类型异常;不可变对象的数据绑定支持(Kotlin / Lombok / @ConstructorProperties);支持JSON绑定API(Jackson 和GSON的替代方案),支持Jackson 2.9和Protubuf 3;支持Reactor 3.1;Flux、Mono以及RxJava 3.1和2.1都可以作为controller方法的返回值,以便适应新的反应式WebClient或者Spring Data Reactive repositories;新的ParsingPathMatcher替代AntPathMatcher,解析效率更高;@ExceptionHandler方法支持 RedirectAttributes参数。\\t
  • Spring WebFlux 
    \\t这是一个全新的模块,作为spring-webmvc的替代方案,基于反应式基础构建——全面异步和非阻塞,它的目的是将其用于事件循环执行模型中,用来替代传统的每个请求对应一个线程的大规模线程池模型;spring-core和spring-web中的反应式支持,比如各种编解码器等;@Controller风格的基于注解的编程模块,与Spring MVC类似,只不过在WebFlux中运行,支持反应式技术栈;新的函数式编程模型(“WebFlux.fn”)也可以替代@Controller,在路由API方面更加轻量和透明,运行在同样的反应式栈和WebFlux基础设施上;新的WebClient,用于函数式和反应式的HTTP API调用。\\t
  • Kotlin支持 
    \\t在使用Kotlin 1.1.50以上版本时,支持Null安全的API;使用Kotlin DSL的函数式bean定义。\\t
  • 测试提升 
    \\t完整支持JUnit 5的Jupitre编程和Spring TestContext Framework的扩展模型;支持并行测试执行;新的before和after测试执行回调,包括TestNG,JUnit 5和使用SpringRunner的JUnit 4(但不支持JUnit 4 规则);MockHttpServletRequest现在增加了 getContentAsByteArray()和getContentAsString()方法来访问内容;Spring MVC Test中的print()和log()方法能够打印Mock请求中的消息体,redirectedUrl()和forwardedUrl()方法能够通过变量扩展支持URI模板;对XMLUnit的支持升级到了2.3版本。\

参考链接

\\

官方博客: 

\项目主页: 
\源码获取:

\\

感谢对本文的审校。

转载地址:http://sdgum.baihongyu.com/

你可能感兴趣的文章
Spring Security(16)——基于表达式的权限控制
查看>>
Oracle中的LOB数据类型以及ibatis中处理该类型的typeHandler
查看>>
917:Knight Moves
查看>>
【IT基础】windows核心编程整理(上)
查看>>
[arm驱动]linux并发与竞态---并发控制
查看>>
jailkit 限制用户活动范围和权限
查看>>
WMI技术的使用
查看>>
Socket编程实践(10) --select的限制与poll的使用
查看>>
析构函数(C# 编程指南)
查看>>
Unix Study之--AIX安装和配置SSH
查看>>
Silverlight粉丝们 让微软听到我们的声音
查看>>
领悟rrdtool
查看>>
perl_常用的函数
查看>>
转:iPhone之后,思考下一个科技突破(之二)
查看>>
如何将Ant下Web项目迁移到Hudson实现持续化集成开发
查看>>
根据XML配置规则导入Excel数据(三)准备验证工具类
查看>>
Python基础教程---读书笔记七
查看>>
Server Core 的部署与管理
查看>>
闲谈简单设计(KISS)疑惑
查看>>
●Misbehaving servers(服务器停止运转)
查看>>