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五:
相关文章
相关标签/搜索