SpringMVC总共有八种注解,分别是@Controller、@RequestMapping、@RequestBody、@ResponseBody、@RequestParam、@PathVariable、@ModelAttribute、@RestController。下面我来好好介绍下其中几种注解。
@Controller 用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller 对象。通过Spring 配置的注解扫描,将这个bean注册到Springmvc容器中。
@RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的 所有响应请求的方法都是以该地址作为父路径,作用于方法上,表明该处理器的请求地址=父路径+方法 上url。它拥有六种属性(如图所示):
@RequestBody用于读取Request请求的body部分数据,使用系统默认配置的 HttpMessageConverter 进行解析,然后把相应的数据绑定 到要返回的对象上 ,再把 HttpMessageConverter返回的对象数据绑定到 controller中方法的参数上。 现在更多的是把一个 json 字符串转换成一个定义好映射关系的对象。
@ResponseBody用于将Controller的方法返回的对象,通过适当的 HttpMessageConverter转换为指定 格式后,写入到Response对象的 body数据区。 现在主要用于json返回。
@RequestParam主要用于在SpringMVC后台控制层获取参数,类似request.getParameter("name")。