Spring 5 新特性

作為Java世界首個響應(yīng)式Web框架,Spring 5最大的亮點莫過于提供了完整的端到端響應(yīng)式編程的支持。

image.png

左側(cè)是傳統(tǒng)的基于Servlet的Spring Web MVC框架,右側(cè)是5.0版本新引入的基于Reactive Streams的Spring WebFlux框架,從上到下依次是Router Functions,WebFlux,Reactive Streams三個新組件。

  • Router Functions: 對標@Controller,@RequestMapping等標準的Spring MVC注解,提供一套函數(shù)式風格的API,用于創(chuàng)建Router,Handler和Filter。
  • WebFlux: 核心組件,協(xié)調(diào)上下游各個組件提供響應(yīng)式編程支持。
  • Reactive Streams: 一種支持背壓(Backpressure)的異步數(shù)據(jù)流處理標準,主流實現(xiàn)有RxJava和Reactor,Spring WebFlux默認集成的是Reactor。

在Web容器的選擇上,Spring WebFlux既支持像Tomcat,Jetty這樣的的傳統(tǒng)容器(前提是支持Servlet 3.1 Non-Blocking IO API),又支持像Netty,Undertow那樣的異步容器。不管是何種容器,Spring WebFlux都會將其輸入輸出流適配成Flux<DataBuffer>格式,以便進行統(tǒng)一處理。

值得一提的是,除了新的Router Functions接口,Spring WebFlux同時支持使用老的Spring MVC注解聲明Reactive Controller。和傳統(tǒng)的MVC Controller不同,Reactive Controller操作的是非阻塞的ServerHttpRequest和ServerHttpResponse,而不再是Spring MVC里的HttpServletRequest和HttpServletResponse。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,545評論 19 139
  • 引子:被譽為“中國大數(shù)據(jù)第一人”的涂子沛先生在其成名作《數(shù)據(jù)之巔》里提到,摩爾定律、社交媒體、數(shù)據(jù)挖掘是大數(shù)據(jù)的三...
    麥殼閱讀 2,678評論 0 10
  • 作者: 一字馬胡 轉(zhuǎn)載標志 【2017-11-26】 更新日志 Reactor Spring 5的一大亮點是對響...
    一字馬胡閱讀 26,045評論 1 49
  • Kotlin 使用 Spring WebFlux 實現(xiàn)響應(yīng)式編程 IBM的研究稱,整個人類文明所獲得的全部數(shù)據(jù)中,...
    光劍書架上的書閱讀 4,285評論 1 16
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,271評論 6 342

友情鏈接更多精彩內(nèi)容