1、@Controller - @Controller用于标记在一个类上,使用它标记的类就是一个Spring MVC
Controller 对象。通过Spring配置的注解扫描,将这个bean注册到Spring MVC容器中。
2、@RequestMapping - @RequestMapping是一个用来处理请求地址映射的注解,可用于类或
方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径,作用于方
法上,表明该处理器的请求地址 = 父路径 + 方法上url(请求地址)。其拥有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值,才能让该方法处理请求。
3、@RequestBody - @RequestBody用于读取Request请求的body部分数据,使用系统默认
配置的 HttpMessageConverter进行解析,然后把相应的数据绑定到要返回的对象上 ,再
把 HttpMessageConverter返回的对象数据绑定到 controller中方法的参数上。现在更
多的是把一个 json 字符串转换成一个定义好映射关系的对象。
4、@ResponseBody - 用于将Controller的方法返回的对象通过适当的HttpMessageConverter
转换为指定格式后,写入到Response对象的body数据区。现在主要用于json返回。
5、@RequestParam - @RequestParam主要用于在SpringMVC后台控制层获取参数,类似
request.getParameter("name");@RequestParam注解主要有3个参数:①value:参数名
字,即入参的请求参数名字,如 value="test" 表示请求的参数区中的名字为test的参
数的值将传入;②required:是否必须,默认是true,表示请求中一定要有相应的参数,
否则将报404错误码;③defaultValue:默认值,表示如果请求中没有同名参数时的默认
值,默认值可以是SpEL表达式,如“#{systemProperties['java.vm.version']}”。
6、@PathVariable - @PathVariable 映射 URL 绑定的占位。带占位符的 URL 是 Spring3.0
新增的功能,主要用于RestFull风格的URL请求。通过 @PathVariable 可以将 URL 中
占位符参数绑定到控制器处理方法的入参中:URL 中的{xxx}占位符可以通过
@PathVariable(“xxx”) 绑定到操作方法的入参中。
7、@ModelAttribute - Controller的所有方法在调用前,先执行此@ModelAttribute方法,
可用于注解和方法参数中。可以把这个@ModelAttribute特性,应用在BaseController
当中,所有的Controller继承BaseController,即可实现在调用Controller时,先执
行@ModelAttribute方法。
8、@RestController - @RestController注解就相当于@ResponseBody + @Controller合在
一起的作用。使用@RestController注解Controller,则Controller中的方法无法返回
页面,配置的视图解析器(如:InternalResourceViewResolver)不起作用,返回的内容
就是return 的内容。
Spring MVC 注解
最新推荐文章于 2024-07-22 23:26:39 发布