Spring 5.0新特性

Spring 5.x新特性

1. JDK8的增强

2. 核心容器的改进

3. 新的SpringWebFlux模块

4. 测试方面的改进

Spring FrameWork 5.0新的功能

JDK 8+Java EE7+以上版本

整个框架的代码基于java8

通过使用泛型等特性提高可读性

java8提高直接的代码支撑

运行时兼容JDK9

Java EE 7API需要Spring相关的模块支持

运行时兼容Java EE8 API

取消的包,类和方法

 beans.factory.access

 dbc.support.nativejdbc

spring-aspects 模块移除了包mock.staicmock,不在提

AnnotationDrivenStaticEntityMockingControl支持

许多不建议使用的类和方法在代码库中删除

核心特性

JDK8的增强:

访问Resuouce时提供getFile或和isFile防御式抽象

有效的方法参数访问基于java 8反射增强

Spring核心接口中增加了声明default方法的支持一贯使用JDK7 CharsetStandardCharsets

增强

兼容JDK9

Spring 5.0框架自带了通用的日志封装

持续实例化via构造函数(修改了异常处理)Spring 5.0框架自带了通用的日志封装

spring-jcl替代了通用的日志,仍然支持可重写

自动检测log4j 2.x, SLF4J, JULjava.util.Logging)而不是其他的支持

访问Resuouce时提供getFile或和isFile防御式抽象

基于NIOreadableChannel也提供了这个新特性

核心容器

支持候选组件索引(也可以支持环境变量扫描)

支持@Nullable注解

函数式风格GenericApplicationContext/AnnotationConfigApplicationContext

基本支持bean API注册

在接口层面使用CGLIB动态代理的时候,提供事物,缓存,异步注解检测

XML配置作用域流式

Spring WebMVC

全部的Servlet 3.1 签名支持在Spring-provied Filter实现

Spring MVC Controller方法里支持Servlet4.0 PushBuilder参数

多个不可变对象的数据绑定(Kotlin/Lombok/@ConstructorPorties)

支持jackson2.9

支持JSON绑定API

支持protobuf3

支持Reactor3.1 FluxMono

SpringWebFlux

新的spring-webflux模块,一个基于reactivespring-webmvc,完全的异步非阻塞,旨在使用

enent-loop执行模型和传统的线程池模型。

Reactive说明在spring-core比如编码和解码

spring-core相关的基础设施,比如Encode Decoder可以用来编码和解码数据流;DataBuffer

以使用java ByteBuffer或者Netty ByteBuf;ReactiveAdapterRegistry可以对相关的库提供传输层支

持。

spring-web包里包含HttpMessageReadeHttpMessageWrite

测试方面的改进

完成了对JUnit 5’s Juptier编程和拓展模块在Spring TestContext框架

SpringExtension:JUnit多个可拓展API的一个实现,提供了对现存Spring TestContext

Framework的支持,使用@ExtendWith(SpringExtension.class)注解引用。

@SpringJunitConfig:一个复合注解

@ExtendWith(SpringExtension.class) 来源于Junit Jupit

@ContextConfiguration 来源于Srping TestContext框架

@DisabledIf 如果提供的该属性值为true的表达或占位符,信号:注解的测试类或测试方法被禁用

Spring TestContext框架中支持并行测试

具体细节查看Test 章节 通过SpringRunnerSring TestContext框架中支持TestNG, Junit5,新的执

行之前和之后测试回调。在testexecutionlistener APItestcontextmanagerbeforetestexecution()

aftertestexecution()回调。MockHttpServletRequest新增了getContentAsByteArray()

getContentAsString()方法来访问请求体

如果字符编码被设置为mock请求,在print()log()方法中可以打印Spring MVC Test

redirectedUrl()forwardedUrl()方法支持带变量表达式URL模板。

XMLUnit 升级到了2.3版本。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

知一NN

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值