Spring MVC概述、Spring MVC項目快速搭建、Spring MVC的常用注解、Spring MVC基本配置

一、Spring MVC概述

1.MVC:Model + View + Controller(數據模型 + 視圖 + 控制器)

2.三層架構:Presentation tier + Application tier + Data tier(展示層 + 應用層 + 數據訪問層)

3.MVC和三層架構的關系,MVC只存在三層架構的展示層。

M實際是數據模型,是包含數據的對象。在Spring MVC里,有一個專門的類叫Model,用來和V之間的數據交互、傳值。

V指的是視圖界面,包含JSP、freeMarker、Velocity、Thymeleaf、Tile等。

C就是控制器(Spring MVC的注解@Controller的類)。

三層架構是整個應用的的架構,是由Spring框架負責管理的,一般項目結構中都由Service層、Dao層,這兩個反饋在應用層和數據訪問層。

二、Spring MVC項目快速搭建

三、Spring MVC的常用注解

1.@Controller

@Controller注解在上,表明這個類是Spring MVC里的Controller,將其聲明為Spring的一個Bean,Dispatcher Servlet會自動掃描注解了此注解的類(原理類似AOP),并將Web請求映射到注解了@RequestMapping的方法上。

2.@RequestMapping

@RequestMapping注解是用來映射Web請求(訪問路徑和參數)、處理類和方法的。

@RequestMapping可以注解在類或方法上。注解在方法上的@RequestMapping路徑會繼承注解在類上的路徑,@RequestMapping支持Servlet的request和response作為參數,也支持對request和response的媒體類型進行配置。

3.@ResponseBody

@ResponseBody支持將返回值放在response體內,而不是返回一個頁面。此注解可放置在返回值前或者方法上

4.@RequestBody

@RequestBody允許request的參數在request體中,而不是在直接鏈接在地址后面。此注解放置在參數前

5.@PathVariable

@PathVariable用來接收路徑參數,如/mfq/001,可接收001作為參數,此注解放置在參數前

6.@RestController

@RestController是一個組合注解,組合了@Controller和ResponseBody。

四、Spring MVC基本配置

1.靜態資源映射、攔截器配置

2.@ControllerAdvice

通過@ControllerAdvice,可以將對于控制器的全局配置放置在同一個位置,注解了@Controller的類的方法可以使用@ExceptionHandler、@InitBinder、@ModelAttribute注解到方法上,對所有注解了@RequestMapping的控制器內的方法有效。

1)@ExceptionHandler:用于全局處理控制器里的異常。

2)@InitBinder:用來設置WebDataBinder,WebDataBinder用來自動綁定前臺請求參數到Model中。

3)@ModelAttribute:本來的作用是綁定鍵值對到Model里,此處是讓全局的@RequestMapping都能獲得在此處設置的鍵值對。

3.其它配置

1)快捷的ViewController

2)路徑匹配參數配置

3)更多配置

查看WebMvcConfigurerAdapter、WebMvcConfigurer類的API。

所使用的pom.xml

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容