1. 程式人生 > >Spring boot MVC 二 MVC與Spring簡介

Spring boot MVC 二 MVC與Spring簡介

一、MVC簡介

MVC即Model、View、Controller,是一種將資料模型,介面(對外介面)以及業務邏輯分離的模式。儘管現在對MVC褒貶不一,但是不可否認的是,MVC仍是現在相當流行的一中模式。(這裡遵循網上大多數的說法,將MVC稱為一種“模式”,實際上,它與設計模式的“模式”略有不同。)

下面我們通過一個例子來簡單的介紹MVC: 
這是一個很常見也很簡單的例子,在這個例子中,使用者提交使用者名稱密碼,一個驗證工具(可以是一組Java類)在資料表中進行查詢(我們假設使用者名稱密碼等認證資料存在一張資料表中),併產生認證結果,進而根據驗證結果,向用戶展示對應的介面(如驗證成功則展示歡迎登入的介面,驗證失敗則展示驗證失敗,需要重新驗證的介面)。 
圖一、一個簡單的使用者認證的例子

我們結合上圖來簡單的介紹下MVC中的三個重要的組建:

M(Model):資料模型,即這個例子中的“資料表”; 
V(View):檢視,介面,或對外介面,即這個例子中的認證成功的介面或認證失敗的介面; 
C(Controller):控制器,即這個例子中的“認證工具”。

可以發現,MVC分離了資料模型,檢視(對外介面)以及業務邏輯,從而減少了程式碼的耦合度,使得其中一個元件的改動不會影響到(或影響很少)其他的元件,這就增加了程式碼的可閱讀性並降低了程式碼的維護成本。

二、Spring MVC簡介

Spring MVC是現在相當流行的一套開發Web應用的框架。


“Front Controller”和“Controller”都是MVC中的“C”(Controller),我們可以這樣理解:對於一個Web應用,它會接受到很多不同的請求(使用者認證,使用者註冊,使用者將某一產品加入購物車,使用者分享了某一產品給好友等),所以單獨將“Front Controller”列出來,它主要負責將不同的Request分發給對應的Controller進行處理,並根據處理結果指定不同的View以展示。實際上,一般情況下,Spring MVC中的“Front Controller”就是DispatcherServlet,顧名思義,它的主要任務是“分發(Dispatcher)”。