在Day 1時有提到MVC是一種軟體架構模式,把軟體系統分為三個基本部分,分別是模型(Model)、視圖(View)和控制器(Controller)。
Spring MVC 就是以Spring為核心的MVC,而Spring Boot就包含了整個Spring MVC。所以可以說Spring MVC 是Spring Boot的一部分。
但在Spring Boot中的Spring MVC的配置跟獨立的Spring MVC是有分別的。
最明顯就是不用做一上XML文件的配置。
在Day 4的範例中,就有運用到控制器(Controller)。
大家可能會問什麼時間用模型(Model)、什麼時候用視圖(View)?
首先分別解釋它們的作用:
模型(Model)進行資料管理和資料庫設計。
視圖(View)是負責呈現模型數據和讓客戶端的瀏覽器能夠將資料展示出來。
控製器(Controller)負責處理用戶的請求,對請求進行處理。
其中,控制器(Controller)是必須存在。因為需要處理用戶的請求。
在瀏覽器中輸入http://localhost:8080
就已經是一種請求,需要設定如何應對這個請求。
在範例中
@RestController注解就是表示當下的java是一個控制器(Controller)。
當加入@RestControlle,就會出現
import org.springframework.web.bind.annotation.RestController;
如果沒有的話,就手動加入這個statement。
@RequestMapping 注解就是通過它來處理URL的請求,而這個動作相等於 Servlet中在web.xml的配置。
當加入@ RequestMapping,就會出現
import org.springframework.web.bind.annotation.RequestMapping;
例子:
@RequestMapping("/")
這個表示當URL的請求是”/” 就會執行 @RequestMapping("/")
下面的程式
@RequestMapping("/")
public String hello(){
return "Hey, Spring Boot 的 Hello World !";
}
如上圖所示:
當URL是http://localhost:8080/
由於它正正是”/”,所以會執行下面的程式。
結果就會在瀏覽器上印出” Hey, Spring Boot 的 Hello World !"的句子。
如果是URL是http://localhost:8080/XX
就會出現Error page。
因為控制器(Controller)沒有對"/XX"做任何處理,所以就會出現以上的Error Page。
相信大家對Day 4的例子基本知識都有初步了解,明白箇中運作。
同時都對MVC有進一步認識了。
如果有興趣想繼續了解和學習的話,歡迎訂閱及留意小弟的文章。