Spring MVC基本介绍(组件组成,执行流程,优缺点,特点)

Spring MVC三大组件

  • 处理器映射器:用户请求路径到Controller方法的映射

  • 处理器适配器:根据handler(controlelr类)的开发方式(注解开发/其他开发) 方式的不同区寻找不同的处理器适配器

  • 视图解析器:根据handler返回的view地址文件类型(jsp/pdf….)去寻找相应的视图解析器来进行解析

    在这里插入图片描述

Spring MVC的执行流程

  1. 用户向服务器发送请求,请求被 Spring 前端控制 Servelt DispatcherServlet 捕获(捕获)
  2. DispatcherServlet对请求 URL进行解析,得到请求资源标识符(URI)。然后根据该 URI,调用 HandlerMapping获得该Handler配置的所有相关的对象(包括 Handler对象以及 Handler对象对应的拦截器),最后以 HandlerExecutionChain对象的形式返回;(查找 handler)
  3. DispatcherServlet 根据获得的 Handler,选择一个合适的 HandlerAdapter。 提取Request 中的模型数据,填充 Handler 入参,开始执行 Handler(Controller), Handler执行完成后,向 DispatcherServlet 返回一个 ModelAndView 对象(执行 handler)
  4. DispatcherServlet 根据返回的 ModelAndView,选择一个适合的ViewResolver(必须是已经注册到 Spring 容器中的 ViewResolver) (选择 ViewResolver)
  5. 通过 ViewResolver 结合 Model 和 View,来渲染视图,DispatcherServlet 将渲染结果返回给客户端。(渲染返回)

在这里插入图片描述

Spring MVC优缺点

优点:

  • 可以多视图共享多个模型,大大提高了代码的复用性。
  • MVC的三个模块相互独立,松耦合架构。
  • 控制器提高了应用程序的灵活性和可配置性。
  • 有利于项目的管理和维护。

缺点:

  • 原理较复杂,实现起来固然没有JSP+JavaBean的方式来得快;

  • 增加了系统结构和实现的复杂性;

  • 视图对模型数据的访问效率较低。

Spring MVC框架的特点

  • 角色划分清晰。Model、View、Controller各司其职,耦合度较低。
  • 灵活的配置功能。Spring的核心是IoC和AOP,统一可以实现在MVC上,把各种类当作Bean组件配置在Spring容器中。
  • 提供了大量的接口和实现类,方便各种场景的开发。
  • 真正做到与View层的实现无关。
  • 结合Spring的依赖注入,更好地应用了面向接口编程的思想。
  • 可以与Spring天衣无缝的整合

总之,我们可以通过MVC的设计模式,最终打造出一个松耦合+高复用+高适用性等的完美架构,这也是架构设计的目标之一。但是,对于MVC来说,它并不适用于小型的项目,花费大量的时间将MVC应用到项目中通常得不偿失,夸张点说,可能搭建三层架构、构建MVC开发环境的时间,都可以实现整个项目功能了。所以,是否使用MVC模式,应该根据实际场景来决定。

参考:
https://blog.csdn.net/wzy18210825916/article/details/82799764

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值