Spring+MyBatis 企业应用实战读书笔记之三 Spring MVC的常用注解(一)

来源:互联网 发布:国动网络董事长卢杰 编辑:程序博客网 时间:2024/06/05 05:14

从spring 2.5开始引入注解。

3.1 @Controller 注解

@Controller注解的类不需要继承特定的父类或者实现特定的接口,相对之前的Controller接口版本更加简单。而且Controller接口的实现类智能处理一个单一的请求动作,而@Controller注解的控制器可以支持同时处理多个请求动作,更加灵活。

@Controller用于标记一个类,使用它标记的类就是一个SpringMVC Controller对象,即一个控制器类。

为了保证Spring通过扫描能找到控制器类:

1.在Spring MVC的配置文件的头文件中引入spring-context.

2.使用<context:component-scan/>元素:<context:component-scan base-package="controller"/>

3.2@RequestMapping 注解

3.2.1 @RequestMapping注解

@RequestMapping可以用来注释一个控制器类,所有方法都将映射为相对于类级别的请求,表示该控制器处理的所有的请求都被映射到value属性所指示的路径下。

@RequsetMapping注解支持的常用属性示例。

1.value属性

用来映射一个请求和一个方法。

@RequestMapping(value = "/User")

如果只有唯一属性,可以省略属性名:@RequestMapping("/User")

value属性值也可以为一个空字符串,此时该方法被映射到一个基本host与空字符串拼接的url。

2.method方法

如果不指定method方法可以任意处理,

可以指定单一方法也可以多个方法

单一方法:@RequestMapping(value="/hello",method=RequestMethod.POST)

多个方法:@RequestMapping(value="/hello",method={RequestMethod.POST,RequestMethod.GET})

3.consumes属性

该属性指定处理请求提交内容的类型(Content-Type)

@RequestMapping(value="/hello",method=RequestMethod.POST,consumes="/application/json")

表示方法仅处理Request content-type为“application/json”类型的请求

4.produces属性

该属性指定放回的内容类型,返回类型必须为Request请求头Accept中所包含的类型。

5.params属性

该属性指定params中必须包含某些参数值时,才让该方法处理。

@RequestMapping(value = '/hello",method=RequestMethod.POST,params="myParame=myValue")

方法仅处理其中名为“myParam”、值为“myValue”的请求。

6.headers请求

该属性指定Request中必须包含某些指定的header值,才能让该方法处理请求。

@RequestMapping(value="/hello",method=RequestMethod.POST,headers="Referer=http://www.fkit.org")

方法仅处理Request的header中包含指定“Referer”请求头和对应值为“http://www.fkit.org”的请求。

0 0