专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

【基础】Spring 基础面试题

@[toc]

1. 开发中主要使用 Spring 的什么技术 ?

  • IOC 容器管理各层的组件
  • 使用 AOP 配置声明式事务
  • 整合其他框架

2. 简述 AOP 和 IOC 概念

  • AOP: Aspect Oriented Program, 面向(方面)切面的编程;Filter(过滤器)也是一种 AOP. AOP 是一种新的方法论, 是对传统 OOP(Object-Oriented Programming, 面向对象编程) 的补充. AOP 的主要编程对象是切面(aspect),而切面模块化横切关注点.可以举例通过事务说明.
  • IOC: Invert Of Control, 控制反转. 也成为 DI(依赖注入)其思想是反转 资源获取的方向. 传统的资源查找方式要求组件向容器发起请求查找资源.作为回应, 容器适时的返回资源. 而应用了 IOC 之后, 则是容器主动地将资源推送给它所管理的组件,组件所要做的仅是选择一种合适的方式来接受资源. 这种行为也被称为查找的被动形式

3. 在 Spring 中如何配置 Bean ?

Bean 的配置方式:

  • 通过全类名(反射)
  • 通过工厂方法(静态工厂方法 & 实例工厂方法)
  • FactoryBean

4. IOC 容器对 Bean 的生命周期:

①. 通过构造器工厂方法创建 Bean 实例 ②. 为 Bean 的属性设置值和对其他 Bean 的引用 ③ . 将 Bean 实 例 传 递 给 Bean 后 置 处 理 器 的 postProcessBeforeInitialization 方法 ④. 调用 Bean 的初始化方法(init-method) ⑤ . 将 Bean 实 例 传 递 给 Bean 后 置 处 理 器 的 postProcessAfterInitialization 方法 ⑦. Bean 可以使用了 ⑧. 当容器关闭时, 调用 Bean 的销毁方法(destroy-method)

5. Spring 如何整合 Hibernate

整合 Hibernate, 即由 IOC 容器生成 SessionFactory 对象, 并使用Spring 的声明式事务

  • 利用 LocalSessionFactoryBean 工厂 Bean, 声明一个使用 XML 映射文件的 SessionFactory 实例.
  • 利用 HibernateTransactionManager 配置 Hibernate 的事务管理器

6. Spring MVC 的运行流程

①. 在整个 Spring MVC 框架中, DispatcherServlet 处于核心位置,负 责协调和组织不同组件以完成请求处理并返回响应的工作 ②. SpringMVC 处理请求过程:

  • 若一个请求匹配 DispatcherServlet 的请求映射路径(在 web.xml 中指定), WEB 容器将该请求转交给 DispatcherServlet 处理
  • DispatcherServlet 接收到请求后, 将根据请求信息(包括 URL、HTTP 方法、请求头、请求参数、Cookie 等)及 HandlerMapping 的配置找到处理请求的处理器(Handler). 可将 HandlerMapping 看成路由控制器,将 Handler 看成目标主机。
  • DispatcherServlet 根据 HandlerMapping 得到对应当前请求的Handler 后,通过 HandlerAdapterHandler 进行封装,再以统一的适配器接口调用 Handler
  • 处 理 器 完 成 业 务 逻 辑 的 处 理 后 将 返 回 一 个 ModelAndViewDispatcherServlet, ModelAndView 包含了视图逻辑名模型数据信息
  • DispatcherServlet 借助 ViewResoler 完成逻辑视图名真实视图对象的解析
  • 得到真实视图对象 View 后, DispatcherServlet 使用这个 View 对ModelAndView 中的模型数据进行视图渲染

7. 说出 Spring MVC 常用的 5 个注解:

  • @RequestMapping
  • @PathVariable
  • @RequestParam
  • @RequestBoy
  • @ResponseBody

8. 如何使用 SpringMVC 完成 JSON 操作:

①. 配置 MappingJacksonHttpMessageConverter ②. 使用 @RequestBody 注解ResponseEntity 作为返回值

文章永久链接:https://tech.souyunku.com/37543

未经允许不得转载:搜云库技术团队 » 【基础】Spring 基础面试题

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们