【速记】Spring Boot和MVC一些常见面试题记忆口诀

还是得自己多练,方便面前记忆的,有错请指正。

1.Spring MVC 的核心组件?

  1. DispatcherServlet:前置控制器,是整个流程控制的核心,控制其他组件的执行,进行统一调度,降低组件之间的耦合性,相当于总指挥。
  2. Handler:处理器,完成具体的业务逻辑,相当于 Servlet 或 Action。
  3. HandlerMapping:DispatcherServlet 接收到请求之后,通过 HandlerMapping 将不同的请求映射到不同的 Handler。
  4. HandlerInterceptor:处理器拦截器,是一个接口,如果需要完成一些拦截处理,可以实现该接口。
  5. HandlerExecutionChain:处理器执行链,包括两部分内容:Handler 和 HandlerInterceptor(系统会有一个默认的 HandlerInterceptor,如果需要额外设置拦截,可以添加拦截器)。
  6. HandlerAdapter:处理器适配器,Handler 执行业务方法之前,需要进行一系列的操作,包括表单数据的验证、数据类型的转换、将表单数据封装到 JavaBean 等,这些操作都是由 HandlerApater 来完成,开发者只需将注意力集中业务逻辑的处理上,DispatcherServlet 通过 HandlerAdapter 执行不同的 Handler。
  7. ModelAndView:装载了模型数据和视图信息,作为 Handler 的处理结果,返回给 DispatcherServlet。
  8. ViewResolver:视图解析器,DispatcheServlet 通过它将逻辑视图解析为物理视图,最终将渲染结果响应给客户端。

Dispatcher指挥棒,Handler行动忙。
映射找Mapping,拦截Interceptor旁。
执行链Chain紧跟随,适配器Adapter帮。
视图ModelAndView装,解析ViewResolver强。

 

2.Spring MVC 的工作流程?

Spring MVC 是基于模型-视图-控制器的 Web 框架,它的工作流程也主要是围绕着 Model、View、Controller 这三个组件展开的。

①、发起请求:客户端通过 HTTP 协议向服务器发起请求。

②、前端控制器:这个请求会先到前端控制器 DispatcherServlet,它是整个流程的入口点,负责接收请求并将其分发给相应的处理器。

③、处理器映射:DispatcherServlet 调用 HandlerMapping 来确定哪个 Controller 应该处理这个请求。通常会根据请求的 URL 来确定。

④、处理器适配器:一旦找到目标 Controller,DispatcherServlet 会使用 HandlerAdapter 来调用 Controller 的处理方法。

⑤、执行处理器:Controller 处理请求,处理完后返回一个 ModelAndView 对象,其中包含模型数据和逻辑视图名。

⑥、视图解析器:DispatcherServlet 接收到 ModelAndView 后,会使用 ViewResolver 来解析视图名称,找到具体的视图页面。

⑦、渲染视图:视图使用模型数据渲染页面,生成最终的页面内容。

⑧、响应结果:DispatcherServlet 将视图结果返回给客户端。

请求到,分发控,映射找,处理动。
适配转,模型送,视图解,页面终。

其实实际开发中真正需要处理的只有 Controller 、View 、Model
 


Spring Boot

1.介绍一下 SpringBoot,有哪些优点?

        Spring Boot是一个开源的Java基础框架,由Pivotal团队(现为VMware旗下)开发,旨在简化Spring应用程序的创建和开发过程。Spring Boot让开发者能够轻松地开发、配置和部署Spring应用程序。它通过提供默认配置和一系列启动器(starters)来简化依赖管理和配置工作。

优点:

  1. 快速启动和运行:Spring Boot提供了大量的预设配置(默认配置),使得开发者能够快速启动和运行Spring应用程序。这些预设配置旨在与Spring生态系统无缝协作,同时保持足够的灵活性以适应不同的需求。

  2. 简化配置:Spring Boot通过提供大量的自动配置和启动器(starters),简化了项目配置。启动器是针对特定用途的依赖管理,只需添加一个依赖,Spring Boot就能自动配置相关组件。

  3. 独立运行:Spring Boot应用程序可以打包成一个独立的JAR文件,这个JAR文件包含了所有必要的依赖、类和资源,可以直接运行,无需部署到外部容器。

  4. 内嵌Servlet容器:Spring Boot内嵌了Tomcat、Jetty或Undertow等Servlet容器,使得应用程序可以直接运行,无需部署到外部Web服务器。

  5. 生产就绪特性:Spring Boot提供了一系列的生产级特性,如健康检查、度量信息收集、外部化配置等,帮助开发者在生产环境中监控和管理应用程序。

  6. 无代码生成和XML配置:Spring Boot不需要生成大量的样板代码,也不需要复杂的XML配置文件。它使用JavaConfig和自动配置来简化配置过程。

  7. 微服务支持:Spring Boot与Spring Cloud紧密集成,为构建微服务架构提供了强大的支持,包括服务发现、配置管理、负载均衡等。

  8. 广泛的社区支持:Spring Boot由一个活跃的开发者社区支持,提供了大量的文档、教程和最佳实践,以及丰富的第三方库和插件。

  9. 易于测试:Spring Boot提供了多种测试工具和支持,使得编写和运行单元测试和集成测试变得更加容易。

  10. 灵活性:尽管Spring Boot提供了大量的默认配置,但它仍然非常灵活,允许开发者根据需要轻松地自定义配置。
    核心优点可以概括为“快速、简单、轻量”

     

    2.SpringBoot 和 SpringMVC 的区别?

    1.Spring MVC 是基于 Spring 框架的一个模块,提供了一种 Model-View-Controller(模型-视图-控制器)的开发模式。

    2.Spring Boot 旨在简化 Spring 应用的配置和部署过程,提供了大量的自动配置选项,以及运行时环境的内嵌 Web 服务器,这样就可以更快速地开发一个 SpringMVC 的 Web 项目


  11. 3.SpringBoot 自动配置原理了解吗?
    Starter带路行,AutoConfig来引领。
    spring.factories明,条件注解定乾坤。
    配置属性紧绑定,自动装配显神通。
    快捷环境如风生,Spring Boot速成功。

    面试官:谈谈你对 Spring Boot 自动装配机制的理解-阿里云开发者社区
    Spring Boot 自动配置的原理 - spring 中文网
    原理可以参考文章自己好好剖析一下。
     


    待更新

  • 22
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值