?
本文檔使用 PHP中文網(wǎng)手冊(cè) 發(fā)布
目錄
Validator
接口進(jìn)行校驗(yàn)BeanWrapper
對(duì)是否把校驗(yàn)當(dāng)作業(yè)務(wù)邏輯這個(gè)問(wèn)題,存在著正和反兩種意見(jiàn),而Spring提供的驗(yàn)證模式(和數(shù)據(jù)綁定)的設(shè)計(jì)對(duì)這兩種意見(jiàn)都不排斥。特別是,校驗(yàn)應(yīng)該不應(yīng)該被強(qiáng)制綁定在Web層,而且應(yīng)該很容易本地化并且可以方便地加入新的驗(yàn)證邏輯。基于上述的考慮,Spring提供了一個(gè)Validator
接口。這是一個(gè)基礎(chǔ)的接口并且適用于應(yīng)用程序的任何一個(gè)層面。
數(shù)據(jù)綁定(Data binding)非常有用,它可以動(dòng)態(tài)把用戶(hù)輸入與應(yīng)用程序的域模型(或者你用于處理用戶(hù)輸入的對(duì)象)綁定起來(lái)。Spring針對(duì)此提供了所謂的DataBinder
來(lái)完成這一功能。由Validator
和DataBinder
組成的validation
驗(yàn)證包,主要被用于Spring的MVC框架。當(dāng)然,他們同樣可以被用于其他需要的地方。
BeanWrapper
作為一個(gè)基礎(chǔ)組件被用在了Spring框架中的很多地方。不過(guò),你可能很少會(huì)需要直接使用BeanWrapper
。由于這是一篇參考文檔,因而我們覺(jué)得對(duì)此稍作解釋還是有必要的。我們?cè)谶@一章節(jié)里對(duì)BeanWrapper
的說(shuō)明,或許到了你日后試圖進(jìn)行類(lèi)似對(duì)象與數(shù)據(jù)之間的綁定這種與BeanWrapper
非常相關(guān)的操作時(shí)會(huì)有一些幫助。
Spring大量地使用了PropertyEditor
(屬性編輯器)。PropertyEditor
的概念是JavaBean規(guī)范的一部分。正如上面提到的BeanWrapper
一樣,由于它與BeanWrapper
以及DataBinder三者之間有著密切的聯(lián)系,我們?cè)谶@里同樣對(duì)PropertyEditor
作一番解釋。