当前位置: 首页 > 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.lryc.cn/news/507342.html

相关文章:

  • 网络方案设计
  • 学习记录:electron主进程与渲染进程直接的通信示例【开箱即用】
  • 【Java数据结构】ArrayList类
  • HDR视频技术之十:MPEG 及 VCEG 的 HDR 编码优化
  • 71 mysql 中 insert into ... on duplicate key update ... 的实现
  • 计算机网络-GRE Over IPSec实验
  • 你的第一个博客-第一弹
  • 若依启动项目时配置为 HTTPS 协议
  • 学习思考:一日三问(学习篇)之匹配VLAN
  • [WiFi] WiFi 802.1x介绍及EAP认证流程整理
  • 用C#(.NET8)开发一个NTP(SNTP)服务
  • Mybatis能执行一对一、一对多的关联查询吗?都有哪些实现方式,以及它们之间的区别
  • ABAP SQL 取日期+时间最新的一条数据
  • 【Rust自学】4.3. 所有权与函数
  • 【Redis分布式锁】高并发场景下秒杀业务的实现思路(集群模式)
  • 用docker快速安装电子白板Excalidraw绘制流程图
  • 使用Turtle库实现,鼠标左键绘制路径,用鼠标右键结束绘制,小海龟并沿路径移动
  • 人工智能入门是先看西瓜书还是先看花书?
  • winform中屏蔽双击最大化或最小化窗体(C#实现),禁用任务管理器结束程序,在需要屏蔽双击窗体最大化、最小化、关闭
  • 进程内存转储工具|内存镜像提取-取证工具
  • 数据结构day5:单向循环链表 代码作业
  • (OCPP服务器)SteVe编译搭建全过程
  • Mybatis分页插件的使用问题记录
  • 36. Three.js案例-创建带光照和阴影的球体与平面
  • CentOS 7 安装、测试和部署FastDFS
  • 全志H618 Android12修改doucmentsui选中图片资源详情信息
  • 【083】基于51单片机智能烘手器【Proteus仿真+Keil程序+报告+原理图】
  • uniApp使用腾讯地图提示未添加maps模块
  • 未来趋势系列 篇五:自主可控科技题材解析和股票梳理
  • Springboot 学习 之 logback-spring.xml 日志压缩 .tmp 临时文件问题