1.@Controller
标记在一个类上,表明该类是springMVC的一个controller对象。
2.@RestController
RestController注解相当于@ResponseBody + @Controller合在一起的作用。将方法返回的对象直接在浏览器上展示成json格式,而如果单单使用@Controller会报错,需要ResponseBody配合使用。
如果哪个类下的所有方法需要返回json数据格式的,就在哪个类上使用该注解,具有统一性;需要注意的是,使用了@RestController注解之后,其本质相当于在该类的所有方法上都统一使用了@ResponseBody注解,所以该类下的所有方法都会返回json数据格式,输出在页面上,而不会再返回视图。
3.@ResponseBody
该注解用于将Controller的方法返回的对象,返回特定的格式(如json);
4.@RequestMapping
用来处理请求地址映射,可用于类和方法上。有6个属性。
value: 指定请求的实际地址,指定的地址可以是URI Template 模式(后面将会说明);
method: 指定请求的method类型, GET、POST、PUT、DELETE等;
consumes: 指定处理请求的提交内容类型(Content-Type),例如application/json, text/html;
produces: 指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回;
params: 指定request中必须包含某些参数值是,才让该方法处理。
headers: 指定request中必须包含某些指定的header值,才能让该方法处理请求。
5.@Resource和@Autowired
@Resource和@Autowired都是做bean的注入时使用,其实@Resource并不是Spring的注解,它的包是javax.annotation.Resource,需要导入,但是Spring支持该注解的注入。
6.@PathVariable
用于将请求URL中的模板变量映射到功能处理方法的参数上,即取出uri模板中的变量作为参数。
7.@requestParam
@requestParam主要用于在SpringMVC后台控制层获取参数,类似一种是request.getParameter("name"),它有三个常用参数:defaultValue = "0", required = false, value = "isApp";defaultValue 表示设置默认值,required 铜过boolean设置是否是必须要传入的参数,value 值表示接受的传入的参数类型。value和name等价,是同一个意思。
8.@Component
相当于通用的注解,当不知道一些类归到哪个层时使用,但是不建议。
9.@Repository
用于注解dao层,在daoImpl类上面注解。
10.@RequestHeader注解
该注解类型用于将请求的头的信息区域数据映射到功能处理方法的参数上。有四个属性
1、name属性
该属性的类型是String类型,它可以指定请求头绑定的名称;
2、value属性
该属性的类型是String类型,它可以设置是name属性的别名;
3、required属性
该属性的类型是boolean类型,它可以设置指定参数是否必须绑定;
4、defalutValue属性
该属性的类型是String类型,它可以设置如果没有传递参数可以使用默认值。代码示例:
@RequestMapping(value="/requestHeaderTest")
public void requestHeaderTest(
@RequestHeader("User-Agent") String userAgent,
@RequestHeader(value="Accept") String[] accepts) {
}
11.@CookieValue注解
该注解类型用于将请求的Cookie数据映射到功能处理方法的参数上。 属性和@RequestHeader一样。代码示例:
@RequestMapping(value="/cookieValueTest")
public void cookieValueTest(
@CookieValue(value="JSESSIONID",defaultValue="") String sessionId) {
}
12.@SessionAttributes注解
13.@ModelAttribute注解