4.SpringMVC

1.什么是SpringMVC
  MVC是一种设计模式,MVC 是模型(Model)、视图(View)、控制器(Controller)的简写,其核心思想是通过将业务逻辑、数据、显示分离来组织代码。

  Spring MVC是一款MVC框架。Spring MVC可以帮助我们进行更简洁的Web层的开发,一般把后端项目分为Service层(处理业务)、Dao层(数据库操作)、Entity层(实体类)、Controller层(控制层,返回数据给前台页面)。

Model1时代:(JavaWeb) JSP既是Controller又是View层

Model2时代:(JavaWeb MVC)  Java Bean(Model)+ JSP(View)+Servlet(Controller)


2.Spring MVC 的核心组件有哪些?
DispatcherServlet:核心的中央处理器,负责接收请求、分发,并给予客户端响应。
HandlerMapping:处理器映射器,根据uri去匹配查找能处理的Handler(Controller),并会将请求涉及到的拦截器和 Handler 一起封装。
HandlerAdapter:处理器适配器,根据HandlerMapping找到的Handler,适配执行对应的Handler;
Handler:请求处理器,处理实际请求的处理器。
ViewResolver:视图解析器,根据Handler返回的逻辑视图/视图,解析并渲染真正的视图,并传递给DispatcherServlet响应客户端。
 
3.SpringMVC运行流程

 
流程说明:
(1)客户端(浏览器)发送请求,直接请求到DispatcherServlet。
(2)DispatcherServlet根据请求信息调用HandlerMapping,解析请求对应的Handler。
(3)解析到对应的Handler(也就是我们平常说的Controller控制器)。
(4)HandlerAdapter会根据Handler来调用真正的处理器来处理请求和执行相对应的业务逻辑。
(5)处理器处理完业务后,会返回一个ModelAndView对象,Model是返回的数据对象,View是逻辑上的View。
(6)ViewResolver会根据逻辑View去查找实际的View。
(7)DispatcherServlet把返回的Model传给View(视图渲染)。
(8)把View返回给请求者(浏览器)。

 

4.统一异常处理?

@ControllerAdvice + @ExceptionHandler

  这种异常处理方式下,会给所有或者指定的 Controller 织入异常处理的逻辑(AOP),当 Controller 中的方法抛出异常的时候,由被@ExceptionHandler 注解修饰的方法进行处理。

  ExceptionHandlerMethodResolvergetMappedMethod 方法决定了异常具体被哪个被 @ExceptionHandler 注解修饰的方法处理异常。

Spring 框架中用到了哪些设计模式?

  • 工厂设计模式 : Spring 使用工厂模式通过 BeanFactoryApplicationContext 创建 bean 对象。
  • 代理设计模式 : Spring AOP 功能的实现。
  • 单例设计模式 : Spring 中的 Bean 默认都是单例的。
  • 模板方法模式 : Spring 中 jdbcTemplatehibernateTemplate 等以 Template 结尾的对数据库操作的类,它们就使用到了模板模式。
  • 包装器设计模式 : 我们的项目需要连接多个数据库,而且不同的客户在每次访问中根据需要会去访问不同的数据库。这种模式让我们可以根据客户的需求能够动态切换不同的数据源。
  • 观察者模式: Spring 事件驱动模型就是观察者模式很经典的一个应用。
  • 适配器模式 : Spring AOP 的增强或通知(Advice)使用到了适配器模式、spring MVC 中也是用到了适配器模式适配Controller

 

posted @   壹索007  阅读(12)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示