Spring MVC 的原理
Spring 的模型-视图-控制器(MVC)框架是围绕一个 DispatcherServlet 来设计的。
这个 Servlet 会把请求分发给各个处理器,并支持可配置的处理器映射、视图渲染、本地化、时区与主题渲染等,甚至还能支持文件上传。
Spring MVC 的流程
-
Http 请求到 DispatcherServlet。
-
HandlerMapping 寻找处理器
-
调用处理器 Controller。
-
(4)(5)Controller 调用业务逻辑处理后,返回 ModelAndView
-
(6)(7)DispatcherServlet 查询 ModelAndView。
-
ModelAndView 反馈浏览器 HTTP。
-
Http 响应:视图负责将结果显示到客户端。
Spring MVC 常用注解
@Controller
用于标注控制层组件。
标记在一个类上,说明它是一个SpringMVC Controller对象。
分发处理器将会扫描该类中的方法,并检测方法中是否使用了@RequestMapping注解。
可以把Request请求的header部分的值绑定到方法的参数上。
@RestController
相当于@Controller和@responseBody的组合。
@Component
当组件不好分类的时候,我们可以使用这个注解
@Repository
用于DAO层的注解,可以在daoImp类上面注解
@Service
用于业务层注解
@ResponseBody
异步注解
用于Controller的方法返回的对象,通过HttpMessageConverter转换为指定格式,写入到Response对象的body数据区中。
@RequestMapping
请求地址映射的注解,可用于类和方法上面。
@Autowired
对类成员变量、方法以及构造函数进行标注,完成自动装配的功能。可以消除set和get方法。
@PathVariable
将请求URL中的模板变量映射到功能处理方法的参数上,既取出模板中的变量作为参数。
@requestParam
用于在控制层中获取参数。
@RequestHeader
把Request请求Header部分的值绑定到方法的参数上面。
了解《5号编程》编程知识
请长按下方二维码关注我们or回到文章顶部,点击5号编程
(微信公众号ID:wuhaobiancheng)