Spring MVC 新特性

2018-07-26 13:54 更新

Spring Web Flow

Spring Web Flow (SWF) 意在成為web應(yīng)用中的頁面流(page flow)管理中最好的解決方案。

SWF在Servlet環(huán)境和Portlet環(huán)境下集成了現(xiàn)有的框架,如Spring MVC和JSF等。如果你的業(yè)務(wù)流程有一個(gè)貫穿始終的模型,而非單純分立的請求,那么SWF可能是適合你的解決方案。

SWF允許你將邏輯上的頁面流抽取成獨(dú)立可復(fù)用的模塊,這對于構(gòu)建一個(gè)web應(yīng)用的多個(gè)模塊是有益的。that guide the user through controlled navigations that drive business processes.

關(guān)于SWF的更多信息,請?jiān)L問Spring Web Flow的官網(wǎng)。

Spring的web模塊支持許多web相關(guān)的特性:

  • 清晰的職責(zé)分離。每個(gè)角色——控制器,驗(yàn)證器,命令對象,表單對象,模型對象,DispatcherServlet,處理器映射,視圖解析器,等等許多——的工作,都可以由相應(yīng)的對象來完成。
  • 強(qiáng)大、直觀的框架和應(yīng)用bean的配置。這種配置能力包括能夠從不同的上下文中進(jìn)行簡單的引用,比如在web控制器中引用業(yè)務(wù)對象、驗(yàn)證器等。
  • 強(qiáng)大的適配能力、非侵入性和靈活性。Spring MVC支持你定義任意的控制器方法簽名,在特定的場景下你還可以添加適合的注解(比如@RequestParam、@RequestHeader、@PathVariable等)
  • 可復(fù)用的業(yè)務(wù)代碼,使你遠(yuǎn)離重復(fù)代碼。你可以使用已有的業(yè)務(wù)對象作為命令對象或表單對象,而不需讓它們?nèi)ダ^承一個(gè)框架提供的什么基類。
  • 可定制的數(shù)據(jù)綁定和驗(yàn)證。類型不匹配僅被認(rèn)為是應(yīng)用級別的驗(yàn)證錯(cuò)誤,錯(cuò)誤值、本地化日期、數(shù)字綁定等會(huì)被保存。你不需要再在表單對象使用全String字段,然后再手動(dòng)將它們轉(zhuǎn)換成業(yè)務(wù)對象。
  • 可定制的處理器映射和視圖解析。處理器映射和視圖解析策略從簡單的基于URL配置,到精細(xì)專用的解析策略,Spring全都支持。在這一點(diǎn)上,Spring比一些依賴于特定技術(shù)的web框架要更加靈活。
  • 靈活的模型傳遞。Spring使用一個(gè)名稱/值對的Map來做模型,這使得模型很容易集成、傳遞給任何類型的視圖技術(shù)。
  • 可定制的本地化信息、時(shí)區(qū)和主題解析。支持用/不用Spring標(biāo)簽庫的JSP技術(shù),支持JSTL,支持無需額外配置的Velocity模板,等等。
  • 一個(gè)簡單但功能強(qiáng)大的JSP標(biāo)簽庫,通常稱為Spring標(biāo)簽庫,它提供了諸如數(shù)據(jù)綁定、主題支持等一些特性的支持。這些定制的標(biāo)簽為標(biāo)記(markup)你的代碼提供了最大程度的靈活性。關(guān)于標(biāo)簽庫描述符(descriptor)的更多信息,請參考附錄第42章 Spring JSP標(biāo)簽庫
  • 一個(gè)Spring 2.0開始引入的JSP表單標(biāo)簽庫。它讓你在JSP頁面中編寫表單簡單許多。關(guān)于標(biāo)簽庫描述符(descriptor)的更多信息,請參考附錄 第43章 Spring表單的JSP標(biāo)簽庫
  • 新增生命周期僅綁定到當(dāng)前HTTP請求或HTTP會(huì)話的Bean類型。嚴(yán)格來說,這不是Spring MVC自身的特性,而是Spring MVC使用的上下文容器WebApplicationContext所提供的特性。這些bean的scope6.5.4 請求、會(huì)話及全局會(huì)話scope一節(jié)有詳細(xì)描述。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號