欢迎关注我的公众号

每日一面:spring mvc 知识点

2022-07-22 10:09
220
0
添加收藏

1、说说自己对于 Spring MVC 了解?

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

 

 

2、SpringMVC 工作原理了解吗?

Spring MVC 原理如下图所示:

在网上找了一个非常清晰直观的,原出处不明。

流程说明(重要):

客户端(浏览器)发送请求,直接请求到 DispatcherServlet

DispatcherServlet 根据请求信息调用 HandlerMapping,解析请求对应的 Handler

解析到对应的 Handler(也就是我们平常说的 Controller 控制器)后,开始由 HandlerAdapter 适配器处理。

HandlerAdapter 会根据 Handler来调用真正的处理器来处理请求,并处理相应的业务逻辑。

处理器处理完业务后,会返回一个 ModelAndView 对象,Model 是返回的数据对象,View 是个逻辑上的 View

ViewResolver 会根据逻辑 View 查找实际的 View

DispaterServlet 把返回的 Model 传给 View(视图渲染)。

把 View 返回给请求者(浏览器)

 

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

关于下面一些设计模式的详细介绍,可以看笔主前段时间的原创文章《面试官:“谈谈 Spring 中都用到了那些设计模式?”。》open in new window 。

工厂设计模式 : Spring 使用工厂模式通过 BeanFactoryApplicationContext 创建 bean 对象。

代理设计模式 : Spring AOP 功能的实现。

单例设计模式 : Spring 中的 Bean 默认都是单例的。

模板方法模式 : Spring 中 jdbcTemplatehibernateTemplate 等以 Template 结尾的对数据库操作的类,它们就使用到了模板模式。

包装器设计模式 : 我们的项目需要连接多个数据库,而且不同的客户在每次访问中根据需要会去访问不同的数据库。这种模式让我们可以根据客户的需求能够动态切换不同的数据源。

观察者模式: Spring 事件驱动模型就是观察者模式很经典的一个应用。

适配器模式 : Spring AOP 的增强或通知(Advice)使用到了适配器模式、spring MVC 中也是用到了适配器模式适配Controller


 

全部评论