黑马程序员技术交流社区

标题: 【石家庄校区】SpringMVC常用注解总结 [打印本页]

作者: 梦想飞翔的猪    时间: 2017-9-26 15:08
标题: 【石家庄校区】SpringMVC常用注解总结

【石家庄校区】SpringMVC常用注解总结




最近写项目过程中看到别人用到很多帅气的SpringMvc注解,自己却不知道是什么意思,只能羡慕所以自己总结了一下,不能只让让他们装逼我也要。于是就整理了一下方便后期参考。

首先介绍一下最常用的注解都有哪些:@Controller、@RequestMapping、@PathVariable、@RequestParam、@ResponseBody等。

下面来仔细讲解一下以上各个注解的含义及使用方法:

1.@Controller: controller注解添加到类上是用来表明当前类是一个springMVC的controller类但是这个时候springMVC还是不能识别它,得在springMVC的xml配置文件中添加包扫描标签:< context:component-scan base-package = "cn.itcast.taotao.controller" /> 。

2.@RequestMapping: 配合controller注解处理请求路径映射的注解,可以放到方法上也可以放到类上。放到方法上就是确定方法的请求路径映射,放到类上起到窄化请求的目的,就是该类下所有的请求路径都会以该路径作为请求路径前缀。RequestMapping注解有六个值分别是:value、method、consumes、produce、params、headers

     2.1 value:请求路径映射。

     2.2 method:请求方法限定 对应值有 GET、POST、DELETE、 PUT。

           2.3 consumes:限定请求提交内容类型 content—Type 例如:例如application/json, text/html;

           2.4 produces:    指定返回的内容类型,此时根据请求头中的Accept进行匹配,如请求头“Accept:application/json”时即可匹配;

    2.5 headers:限定请求头{"host=xxx","Accept"} 必须包含请求头才处理

    2.6 params:请求路径限定 {"name=xxx","age","!sex"} 请求路径必须携带此name参数并且值为xxx,age参数必须存在,sex必须不能存在

3.@PathVariable:配合RequestMapping注解取出请求路径中模板的变量作为参数,主要用于处理restful请求例如:        

              @RequestMapping(value="/list/{parentId}")
              public List<EasyUITreeNode> getContentCategoryList(@PathVariable(value="parentId") long parentId){
                         List<EasyUITreeNode> list = contentCategoryService.getContentCategoryList(parentId);
               return list;

        }

4.@RequestParam: 多用于参数绑定、默认值设置和此参数是否是必须的。此注解有三个属性分别是:name、defaultValue 和required。

其中name的为设置参数名称例如url路径中的参数名称与方法的参数名称不一致可以使用此注解,将注解添加到要绑定的参数前面,name为要帮定参数用法就是name值与url路径映射中的参数名称一致即可。defaultValue为参数的默认值,假如前台不传值则使用默认值。required为此参数是否是必须的,默认必须 。required=false则表示此参数不是必须的。

5.@ResponseBody:此注解用于方法上面,作用就是使方法返回数据格式为Json,此方法返回的不是页面。




吃饱了再睡觉。








欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2