一、請求映射注解

1. @RequestMapping:用于映射請求URL到控制器方法,可以指定HTTP請求的方法、請求參數(shù)和請求頭等。

2. @GetMapping、@PostMapping、@PutMapping、@DeleteMapping:分別用于處理GET、POST、PUT和DELETE請求,簡化了@RequestMapping注解的使用。

3. @PathVariable:用于將URL中的占位符參數(shù)綁定到方法的參數(shù)中。

4. @RequestParam:用于綁定請求參數(shù)到方法的參數(shù)上,可指定參數(shù)的名稱、默認值和是否必需等。

二、參數(shù)綁定注解

1. @RequestBody:用于將請求的內(nèi)容綁定到方法的參數(shù)上,常用于處理JSON或XML格式的請求數(shù)據(jù)。

2. @ResponseBody:用于將方法的返回值綁定到響應(yīng)體上,常用于返回JSON或XML格式的響應(yīng)數(shù)據(jù)。

3. @RequestHeader:用于綁定請求頭的值到方法的參數(shù)上。

4. @CookieValue:用于綁定請求中的Cookie值到方法的參數(shù)上。

三、數(shù)據(jù)驗證注解

1. @Valid:用于標記需要進行數(shù)據(jù)驗證的參數(shù)對象。

2. @NotNull、@NotEmpty、@NotBlank:分別用于驗證參數(shù)不能為空、集合不能為空、字符串不能為空。

3. @Min、@Max、@Size、@Pattern:用于驗證參數(shù)的最小值、最大值、長度、正則表達式等。

4. @Email、@Phone:用于驗證參數(shù)是否符合郵箱、手機號碼的格式。

四、模型綁定注解

1. @ModelAttribute:用于綁定請求參數(shù)到模型對象上。

2. @SessionAttribute:用于將模型對象存儲到會話中,供多個請求共享。

3. @ModelAttribute、@SessionAttributes、@ModelAttribute:結(jié)合使用,用于實現(xiàn)表單數(shù)據(jù)的回顯和多步驟表單的處理。

五、異常處理注解

1. @ControllerAdvice:用于定義全局的異常處理器。

2. @ExceptionHandler:用于處理指定類型的異常。

3. @ResponseStatus:用于指定異常處理后的HTTP響應(yīng)狀態(tài)碼。

六、攔截器注解

1. @Interceptor:用于定義自定義攔截器。

2. @Order:用于指定攔截器的執(zhí)行順序。

3. @RequestMapping、@GetMapping、@PostMapping:可以在攔截器中使用這些注解來限制攔截的URL。

七、視圖控制注解

1. @Controller:用于標記控制器類。

2. @RequestMapping、@GetMapping、@PostMapping:可以用于控制器方法上,用于指定返回視圖的URL。

3. @ResponseBody:可以用于控制器方法上,將方法的返回值作為響應(yīng)的內(nèi)容,常用于返回JSON數(shù)據(jù)。

綜上所述,Spring MVC提供了豐富的注解來簡化開發(fā),提高開發(fā)效率。熟練掌握這些常用注解,可以更好地進行Web應(yīng)用程序的開發(fā)與維護。