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

本文共 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://lbupx.baihongyu.com/

你可能感兴趣的文章
rails将类常量重构到数据库对应的表中之三
查看>>
mysql 多行合并函数
查看>>
【案例】RAID卡写策略改变引发的问题
查看>>
第四十八讲:tapestry 与 淘宝kissy editor编辑器带图片上传
查看>>
Linux/Centos 重置Mysql root用户密码
查看>>
[C语言]unicode与utf-8编码转换(一)
查看>>
利用PDO导入导出数据库
查看>>
DDR3
查看>>
分支 统计字数
查看>>
艾级计算机的发展与挑战
查看>>
RocketMQ事务消息实战
查看>>
手把手教你做出好看的文本输入框
查看>>
zabbix 3.2.7 (源码包)安装部署
查看>>
vsCode 快捷键、插件
查看>>
网络最大流问题算法小结 [转]
查看>>
iOS推送消息报错误“Domain=NSCocoaErrorDomain Code=3000”的可能问题
查看>>
kvm-1
查看>>
leetcode 64. Minimum Path Sum
查看>>
textkit
查看>>
CentOS7+CDH5.14.0安装CDH错误排查: HiveServer2 该角色的进程已退出。该角色的预期状态为已启动...
查看>>