現在的位置: 首頁 > 綜合 > 正文

常用的springmvc註解有哪些

2020年01月06日 綜合 ⁄ 共 1674字 ⁄ 字型大小 評論關閉

  SpringMVC 是類似於 Struts2 的一個 MVC 框架,在實際開發中,接收瀏覽器的請求響應,對數據進行處理,然後返回頁面進行顯示,但是上手難度卻比 Struts2 簡單多了。而且由於 Struts2 所暴露出來的安全問題,SpringMVC 已經成為了大多數企業優先選擇的框架。

  在springMVC中有許多封裝好的註解,使用這些註解能夠簡化我們的開發。

  常用的springmvc註解

  1、@Controller

  @Controller用於標記在一個類上,使用它標記的類就是一個SpringMVCController對象。分發處理器將會掃描使用了該註解的類的 方法,並檢測該方法是否使用了@RequestMapping 註解。@Controller只是定義了一個控制器類,而使用@RequestMapping註解的方法才是真正處理請求的處理器。單單使用 @Controller標記在一個類上還不能真正意義上的說它就是SpringMVC的一個控制器類,因為這個時候Spring還不認識它。那麼要如何做 Spring才能認識它呢?這個時候就需要我們把這個控制器類交給Spring來管理。有兩種方式:

  (1)在SpringMVC 的配置文件中定義MyController 的bean 對象。

  (2)在SpringMVC 的配置文件中告訴Spring 該到哪裡去找標記為@Controller 的Controller 控制器。

  2、@RequestMapping

  RequestMapping註解有六個屬性,下面我們把它分成三類進行說明

  (1)value,method

  value:指定請求的實際地址,指定的地址可以是URI Template模式;

  method:指定請求的method類型, GET、POST、PUT、DELETE等;

  value的uri值可以為以下三類:普通的具體值;含有某變數的一類值;含有正則表達式的一類值;

  (2)consumes,produces

  consumes:指定處理請求的提交內容類型(Content-Type),例如application/json, text/html;

  produces:指定返回的內容類型,僅當request請求頭中的(Accept)類型中包含該指定類型才返回;

  (3)params,headers

  params:指定request中必須包含某些參數值時,才讓該方法處理。

  headers:指定request中必須包含某些指定的header值,才能讓該方法處理請求。

  3、@Resource和@Autowired

  @Resource和@Autowired都是做bean的注入時使用,其實@Resource並不是Spring的註解,它的包是javax.annotation.Resource,需要導入,但是Spring支持該註解的注入,兩者都可以寫在欄位和setter方法上。兩者如果都寫在欄位上,那麼就不需要再寫setter方法。

  4、@PathVariable

  用於將請求URL中的模板變數映射到功能處理方法的參數上,即取出uri模板中的變數作為參數。

  5、@ResponseBody

  作用: 該註解用於將Controller的方法返回的對象,通過適當的HttpMessageConverter轉換為指定格式後,寫入到Response對象的body數據區。

  使用時機:返回的數據不是html標籤的頁面,而是其他某種格式的數據時(如json、xml等)使用

  6、@RestController

  我們經常見到一些控制器實現了REST的API,只為服務於JSON,XML或其它自定義的類型內 容,@RestController用來創建REST類型的控制器,與@Controller類型。@RestController就是這樣一種類型,它 避免了你重複的寫@RequestMapping與@ResponseBody。

  以上就是springmvc註解是什麼的詳細內容,更多請關注學步園。

抱歉!評論已關閉.