1.使用@Controller 註解,在對應的方法上,視圖解析器能夠解析return 的jsp,html頁面,
而且跳轉到相應頁面 若返回json等內容到頁面,則須要加@ResponseBody註解html
2.@RestController註解,至關於@Controller+@ResponseBody兩個註解的結合,返回json數據不須要在方法前面加@ResponseBody註解了,
但使用@RestController這個註解,就不能返回jsp,html頁面,視圖解析器沒法解析jsp,html頁面ajax
3.@Service對應的是業務層Bean,Service("userService")註解是告訴Spring,當Spring要建立UserServiceImpl的實例時,bean的名字必須叫作"userService",
這樣當Controller須要使用UserServiceImpl的實例時,就能夠由Spring建立好的"userService",
而後注入給Controller:在Controller只須要聲明一個名字叫「userService」的變量來接收由Spring注入的"userService"便可json
4.@RequestMapping 是用來處理請求地址映射的註解,可用於類或方法上。用在類上,表示類中全部的響應的方法都是以該地址做爲父路徑來訪問,
用在方法上表示該方法的訪問的路徑;二者結合起來的訪問的路徑爲完整的訪問某個方法的路徑。app
5.@Autowired和@Resource
@Resource和@Autowired都是作bean的注入時使用,均可以寫在字段上,或者是setter方法上
區別是@Autowired註解是按照類型(byType)裝配依賴對象,默認狀況下它要求依賴對象必須存在
@Resource默認按照名稱(byName)自動注入
6.@RequestParam
@RequestParam相似於request.getParamter("name")有三個參數。
defaultValue:表示設置默認值
required:經過boolean設置是不是必需要傳入的參數
Value:值表示接受的傳入的參數類型
7.@ResponseBody
@ResponseBody該註解將controller的方法返回對象,經過適當的HttpMessageConverter轉換爲指定格式後寫入到Response對象的body數據區。
一般用來返回json數據或者是xml數據,須要注意的是在使用此註解以後不會在走視圖處理器,而是直接將數據寫入到輸入流中,他的效果等同於經過response對象輸出指定格式的 數據。
返回的數據不是html標籤的頁面,而是其餘某種數據的格式時(json、xml)等使用jsp
8.RequestBody
@RequestBody 該註解用於讀取Request請求的body部分數據,使用系統默認配置的HttpMessageConverter進行解析,而後把相應的數據綁定到要返回的對象上。而後再把 HttpMessageConverter返回的對象數據綁定到controller中的方法參數上。
一直覺得@RequestBody接收的是一個Json對象,後來發現,其實 @RequestBody接收的是一個Json對象的字符串,而不是一個Json對象。然而在ajax請求每每傳的都是Json對象,用 JSON.stringify(data)的方式就能將對象變成字符串。
同時ajax請求的時候也要指定dataType: "json",contentType:"application/json" 這樣就能夠輕易的將一個對象或者List傳到Java端,使用@RequestBody便可綁定對象或者List.ui
9.@GetMapping是一個組合註解,是@RequestMapping(method = RequestMethod.GET)的縮寫。該註解將HTTP Get 映射到 特定的處理方法上。xml
10.@PostMapping是一個組合註解 是@RequestMapping(method = RequestMethod.POST)的縮寫 。該註解將HTTP Post 映射到 特定的處理方法上。htm