Spring註解及做用

 

一:html

spring mvc中的@PathVariable是用來得到請求url中的動態參數的spring

@PathVariable用於方法中的參數,表示方法參數綁定到地址URL的模板:json

mvc

  1. @Controller  
  2. public class TestController {  
  3.      @RequestMapping(value="/user/{userId}/roles/{roleId}",method = RequestMethod.GET)  
  4.      public String getLogin(@PathVariable("userId") String userId,  
  5.          @PathVariable("roleId") String roleId){  
  6.          System.out.println("User Id : " + userId);  
  7.          System.out.println("Role Id : " + roleId);  
  8.          return "hello";  
  9.      }  
  10.      @RequestMapping(value="/product/{productId}",method = RequestMethod.GET)  
  11.      public String getProduct(@PathVariable("productId") String productId){  
  12.            System.out.println("Product Id : " + productId);  
  13.            return "hello";
  14.      }  

 

   二:
app

   在Spring MVC裏,@ModelAttribute一般使用在Controller方法的參數註解中,用於解釋model entity,但同時,也能夠放在方法註解裏。jsp

 

    若是把@ModelAttribute放在方法的註解上時,表明的是:該Controller的全部方法在調用前,先執行此@ModelAttribute方法url

 

     /**spa

     * 登陸提交數據處理
     * @Title: login
              */
    @RequestMapping(value="sys/loginIn" ,method = RequestMethod.POST)
    public @ResponseBody DataJSON login(@ModelAttribute User user,
    HttpServletResponse response,
    HttpServletRequest request,
    String autoLogin) throws IOException{

    try{


  //進行公共驗證
   DataJSON dataJSON = UserUtil.userLoginVerifyPC(user);code

   

  三:orm

    @RequestBody

做用: 

      i) 該註解用於讀取Request請求的body部分數據,使用系統默認配置的HttpMessageConverter進行解析,而後把相應的數據綁定到要返回的對象上;

      ii) 再把HttpMessageConverter返回的對象數據綁定到 controller中方法的參數上。

使用時機:

  GET、POST方式提時, 根據request header Content-Type的值來判斷:

  •     application/x-www-form-urlencoded, 可選(即非必須,由於這種狀況的數據@RequestParam, @ModelAttribute也能夠處理,固然@RequestBody也能處理);
  •     multipart/form-data, 不能處理(即便用@RequestBody不能處理這種格式的數據);
  •     其餘格式, 必須(其餘格式包括application/json, application/xml等。這些格式的數據,必須使用@RequestBody來處理);

 

@ResponseBody

 

做用: 

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

使用時機:

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

 

  四:

RequestMapping是一個用來處理請求地址映射的註解,可用於類或方法上。用於類上,表示類中的全部響應請求的方法都是以該地址做爲父路徑。
@RequestMapping(value = "/aaa")//類級別,能夠沒有
public class myController {
    @RequestMapping(value = "/bbb")//方法級別,必須有
    public String getMyName() {
        return "myReturn";
    }
}
對應的action就是:<form action="aaa/bbb">
返回頁面就是myReturn.jsp五:
相關文章
相關標籤/搜索