Spring MVC 新特性

2018-07-26 13:54 更新

Spring Web Flow

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

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

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

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

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

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


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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)