SpringMVC常用注解
1、请求映射注解
1.1、@Controller注解
在SpringMVC中,控制器Controller负责处理由DispatcherServlet分发的请求。使用时,只需使用@Controller标记一个类是Controller。例如:
@Controller
@RequestMapping("/hello")
public class TestController{
}
在浏览器可以输入:http://localhost:8080/hello
6.2、@RequestMapping注解
@RequestMapping会将HTTP请求映射到MVC和RES控制器的处理方法上,它可以在控制器类的级别或者方法的级别上使用。差不多就相当于为controller类以及类中的方法指定url路径。例如:
@Controller
@RequestMapping("/test")
public class TestController{
@RequestMapping("/hello")
public String hello{
return "hello"
}
}
在浏览器可以输入:http://localhost:8080/test/hello
@RequestMapping注解的一些常用属性
属性名称 | 说明 |
---|---|
value | 指定请求的实际地址 |
name | 给映射地址指定一个别名 |
method | 指定请求的metho的类型,例如:GET,POST等 |
1.3、@GetMapping和@PostMapping注解
其实就是@RequestMapping注解指定了method为GET和POST。
2、参数绑定注解
2.1、@RequestParam注解
@RequestParam注解用于将指定的请求参数赋值给方法中的形参。其注解的属性如下所示:
属性名称 | 类型 | 属性是否必填 | 说明 |
---|---|---|---|
name | String | 否 | 指定请求头绑定的名称 |
value | String | 否 | name属性的别名 |
required | Boolean | 否 | 指定参数必须绑定 |
defaultValue | String | 否 | 请求没有传递参数而使用的默认值 |
2.3、@RequestHeader注解
@RequestHeader注解可以将请求的报头信息(或数据)映射到处理的方法参数上。
2.4、@ResponseBody和@RequestBody注解
2.4.1、@ResponseBody注解
用于将Controller方法返回的对象,该注解将方法的返回结果直接写入HTTP响应正文(ResponseBody)中,一般在异步获取数据时使用。在使用@RequestMapping注解时,返回值通常被解析为跳转的路径,在加上@ResponseBody后返回结果就不会被解析为跳转路径,而是直接写入到HTTP响应正文中。使用在方法上面。
2.4.2、@RequestBody注解
@RequestBody注解用于读取Request请求的body部分数据,使用系统默认配置的HttpMessageConverter进行解析,然后把相应的数据绑定到Controller方法的参数上。