每日十题八股-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:
-
XmlBeanDefinitionReader解析xml里面的bean定义信息。
-
注册bean到BeanDefinitionRegistry,包括类,作用域,依赖关系,初始化,销毁方法。
-
实例化+依赖注入:反射机制创建Bean,根据 Bean 定义中的配置,通过 setter 方法、构造函数或方法注入所需的依赖 Bean。
注解: -
在类路径内注解,利用AnnotatedBeanDefinitionReader解析Bean信息。
-
注册bean到BeanDefinitionRegistry,包括类,作用域,依赖关系,初始化,销毁方法。
-
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中的约定大于配置?
约定优于配置是一种软件设计的范式,它的核心思想是减少软件开发人员对于配置项的维护,从而让开发人员更加聚焦在业务逻辑上。