SpringMVC 是類似於Struts2 的一個MVC 框架,在實際開發中,接收瀏覽器的請求回應,對資料進行處理,然後返回頁面進行顯示,但是上手難度卻比Struts2 簡單多了。而且由於 Struts2 所揭露的安全問題,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註解是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Dreamweaver Mac版
視覺化網頁開發工具

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

Atom編輯器mac版下載
最受歡迎的的開源編輯器

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)