原文連接 譯者:supriselihtml
Spring框架的新功能java
這一章主要提供Spring框架新的功能和變動。react
升級到新版本的框架能夠參考。Spring git。git
內容列表github
Spring 4.x框架新的功能spring
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的加強
- 兼容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版本。
原創文章,轉載請註明: 轉載自併發編程網 – ifeve.com本文連接地址: 《Spring5官方文檔》新功能