当前位置: 首页 > news >正文

每日十题八股-2024年12月19日

1.Bean注入和xml注入最终得到了相同的效果,它们在底层是怎样做的?
2.Spring给我们提供了很多扩展点,这些有了解吗?
3.MVC分层介绍一下?
4.了解SpringMVC的处理流程吗?
5.Handlermapping 和 handleradapter有了解吗?
6.为什么使用springboot?
7.SpringBoot比Spring好在哪里?
8.SpringBoot用到哪些设计模式?
9.怎么理解SpringBoot中的约定大于配置?
10.SpringBoot的项目结构是怎么样的?

1.Bean注入和xml注入最终得到了相同的效果,它们在底层是怎样做的?

xml:

  1. XmlBeanDefinitionReader解析xml里面的bean定义信息。

  2. 注册bean到BeanDefinitionRegistry,包括类,作用域,依赖关系,初始化,销毁方法。

  3. 实例化+依赖注入:反射机制创建Bean,根据 Bean 定义中的配置,通过 setter 方法、构造函数或方法注入所需的依赖 Bean。
    注解:

  4. 在类路径内注解,利用AnnotatedBeanDefinitionReader解析Bean信息。

  5. 注册bean到BeanDefinitionRegistry,包括类,作用域,依赖关系,初始化,销毁方法。

  6. Spring 会根据注解的信息进行依赖注入。
    在这里插入图片描述

2.Spring给我们提供了很多扩展点,这些有了解吗?

在苍穹外卖里面使用过的有拦截器(JWT登录验证),全局异常处理器,自动配置类,自定义注解。
在这里插入图片描述

3.MVC分层介绍一下?

在这里插入图片描述

4.了解SpringMVC的处理流程吗?

感觉要回去复习SpringMVC了。https://springmvc.javaboy.org/2019/1106/handler
在这里插入图片描述
在这里插入图片描述

5.Handlermapping 和 handleradapter有了解吗?

HandlerMapping 是负责根据 request 请求找到对应的 Handler 处理器及 Interceptor 拦截器,将它们封装在 HandlerExecutionChain 对象中返回给前端控制器。

HandlerAdapter 会根据适配器接口对后端控制器进行包装(适配),包装后即可对处理器进行执行,通过扩展处理器适配器可以执行多种类型的处理器,这里使用了适配器设计模式。
在这里插入图片描述
HttpRequestHandlerAdapter:用于处理实现了HttpRequestHandler接口的handler。
SimpleControllerHandlerAdapter:用于处理实现了Controller接口的handler。
SimpleServletHandlerAdapter:用于处理实现了Servlet接口的handler。

6.为什么使用springboot?

SpringBoot设计目的是尽可能简单和快速的开发、运行Spring应用程序,简化配置。
在这里插入图片描述

7.SpringBoot比Spring好在哪里?

在这里插入图片描述

8.SpringBoot用到哪些设计模式?

参考Spring的那题,答案基本没变。

9.怎么理解SpringBoot中的约定大于配置?

约定优于配置是一种软件设计的范式,它的核心思想是减少软件开发人员对于配置项的维护,从而让开发人员更加聚焦在业务逻辑上。
在这里插入图片描述
在这里插入图片描述

10.SpringBoot的项目结构是怎么样的?

在这里插入图片描述


http://www.mrgr.cn/news/80825.html

相关文章:

  • 2.zabbix部署
  • 数据可视化
  • LiveData源码研究
  • 【教程】让Jupyter支持打开CSV和Excel(xlsx)文件
  • 【机组】概述精炼考点(冯诺依曼、层次结构、翻译语言、执行程序的过程、基本工作原理、运算器、控制器、存储器)
  • LeetCode hot100-84
  • el-table 多表头+跨行跨列案例
  • 使用Gradio编写大模型ollama客户端 -界面版
  • Kaggler日志--Day9
  • Docker:Dockerfile(补充四)
  • 【Rust自学】4.1. 所有权:栈内存 vs. 堆内存
  • 【Linux】NET9运行时移植到低版本GLIBC的Linux纯内核板卡上
  • 初学stm32 ——— 串口通信
  • Qt Quick:CheckBox 复选框
  • Spring Boot 配置Kafka
  • 【0371】Postgres内核 实现构建一个 WAL record
  • 【java面向对象编程】第二弹----成员方法
  • 基于DockerCompose搭建Redis主从哨兵模式
  • js分页功能
  • 【Python】使用Selenium 操作浏览器 自动化测试 记录
  • regression里面的误差来源
  • Pytorch | 从零构建AlexNet对CIFAR10进行分类
  • Linux函数栈帧
  • windows上安装Redis
  • 对AI现状和未来发展的浅见
  • 关于代码注释