在学习MVC的过程中有些课程对于注解的讲解并不是很通俗易懂,本文结合项目来说明如何使用MVC中的一些注解:
@Controller注解:
1.告诉Spring这个类是一个控制器,会去调用Servicer层 2.Controller类中的方法通过映射注解来处理HTTP请求
@Controller //将这个类标记为一个SpringMVC控制器,Spring会自动检测到这个类,并将其注册为一个处理HTTP请求的控制器
@RequestMapping("/hello")
//这个控制器将会处理所有/hello开头的请求
public class HelloController {
@GetMapping //用于处理get请求
public String helloWorld() {
return "hello";//在MVC中,返回的字符串通常表示视图的名称,MVC将这个视图名称传递给视图解析器,视图解析器会将视图名称解析为实际的视图。例如:将"hello"解析为/WEB-INF/views/hello.jsp,然后将请求转发到这个JSP文件进行渲染
}
}
@PathVariable 注解
@PathVariable用于将URL路径中的变量绑定到方法参数中,当用户使用不同的URL进行查询时,Spring自动解析URL路径识别出{module} 的实际值,并将其绑定到方法参数 module 上
@Handler Mapping
最常见的handler mapping实现: @RequstMappingHandlerMapping,包括@RequestMapping、@GetMapping、@PostMapping 等用来映射处理器,取代了原有的@DefaultAnnotionHandlerMapping,除此之外还有@BeanNameHandlerMapping和@SimpleUrlHandlerMapping
@RequestBody和@ResponseBody
@RequestBody将HTTP请求体中的JSON数据自动解析为对应的Java对象
@ResponseBody直接返回字符串给前端,不要找视图解析器,将方法返回的对象自动序列化为 JSON 数据并写入到 HTTP 响应体中