MyException - 我的异常网
当前位置:我的异常网» 软件架构设计 » Spring5都有那些新特性与加强,不知道的看这里

Spring5都有那些新特性与加强,不知道的看这里

www.MyException.Cn  网友分享于:2013-03-06  浏览:0次
Spring5都有那些新特性与增强,不知道的看这里
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 Charset和StandardCharsets的增强


关注我的VX号: Java架构师学习
关注我:可免费领取架构师学习资料。
关注我:获得面试学习资料
关注我:学习架构最新技能知识
关注我:了解最新BAT招聘动态

兼容JDK9

Spring 5.0框架自带了通用的日志封装
持续实例化via构造函数(修改了异常处理)
Spring 5.0框架自带了通用的日志封装
spring-jcl替代了通用的日志,仍然支持可重写
自动检测log4j 2.x, SLF4J, JUL(java.util.Logging)而不是其他的支持
访问Resuouce时提供getFile或和isFile防御式抽象
基于NIO的readableChannel也提供了这个新特性

核心容器

支持候选组件索引(也可以支持环境变量扫描)
支持@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 Flux和Mono

SpringWebFlux

新的spring-webflux模块,一个基于reactive的spring-webmvc,完全的异步非阻塞,旨在使用enent-loop执行模型和传统的线程池模型。
Reactive说明在spring-core比如编码和解码
spring-core相关的基础设施,比如Encode 和Decoder可以用来编码和解码数据流;DataBuffer 可以使用java ByteBuffer或者Netty ByteBuf;ReactiveAdapterRegistry可以对相关的库提供传输层支持。
在spring-web包里包含HttpMessageReade和HttpMessageWrite

测试方面的改进

完成了对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 章节 通过SpringRunner在Sring TestContext框架中支持TestNG, Junit5,新的执行之前和之后测试回调。
在testexecutionlistener API和testcontextmanager新beforetestexecution()和aftertestexecution()回调。MockHttpServletRequest新增了getContentAsByteArray()和getContentAsString()方法来访问请求体
如果字符编码被设置为mock请求,在print()和log()方法中可以打印Spring MVC Test的redirectedUrl()和forwardedUrl()方法支持带变量表达式URL模板。
XMLUnit 升级到了2.3版本。

文章评论

团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
编程语言是女人
编程语言是女人
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
2013年中国软件开发者薪资调查报告
2013年中国软件开发者薪资调查报告
程序员应该关注的一些事儿
程序员应该关注的一些事儿
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
程序员和编码员之间的区别
程序员和编码员之间的区别
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
程序员必看的十大电影
程序员必看的十大电影
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
 程序员的样子
程序员的样子
我是如何打败拖延症的
我是如何打败拖延症的
那些争议最大的编程观点
那些争议最大的编程观点
总结2014中国互联网十大段子
总结2014中国互联网十大段子
程序员都该阅读的书
程序员都该阅读的书
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
中美印日四国程序员比较
中美印日四国程序员比较
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
Google伦敦新总部 犹如星级庄园
Google伦敦新总部 犹如星级庄园
程序员的鄙视链
程序员的鄙视链
代码女神横空出世
代码女神横空出世
老程序员的下场
老程序员的下场
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
2013年美国开发者薪资调查报告
2013年美国开发者薪资调查报告
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
鲜为人知的编程真相
鲜为人知的编程真相
10个调试和排错的小建议
10个调试和排错的小建议
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
一个程序员的时间管理
一个程序员的时间管理
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
Java程序员必看电影
Java程序员必看电影
为什么程序员都是夜猫子
为什么程序员都是夜猫子
那些性感的让人尖叫的程序员
那些性感的让人尖叫的程序员
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有