Spring框架高阶面试题解析

qqchamber17485 0 0 md 2024-07-04 21:07:30

1. Spring AOP 中的核心概念是什么?它们之间有什么关系?

核心概念包括 Aspect(切面)、Joinpoint(连接点)、Pointcut(切点)、Advice(通知)、Target(目标对象)、 Weaving(织入) 以及 Introduction(引入)。

  • Aspect: 模块化的横切关注点,例如事务管理。
  • Joinpoint: 程序执行过程中的某个点,例如方法调用或异常处理。
  • Pointcut: 匹配 Joinpoint 的表达式,定义 Advice 应用的位置。
  • Advice: 在特定 Joinpoint 处执行的操作,例如方法执行前后。
  • Target: 被 Advice 应用的目标对象。
  • Weaving: 将 Aspect 应用到 Target 的过程,生成代理对象。
  • Introduction: 为现有类添加新方法或接口。

2. 解释 Spring 中 IoC (控制反转) 和 DI (依赖注入) 的概念。

  • IoC: 将对象创建和管理的控制权从应用程序代码转移到 Spring 容器。
  • DI: Spring 容器将依赖关系注入到对象中,无需对象自己创建或查找依赖项。

3. Spring 支持哪些 Bean 的作用域?

  • singleton: 单例模式,每个容器只有一个实例。
  • prototype: 每次请求都会创建一个新的实例。
  • request: 每个 HTTP 请求创建一个实例。
  • session: 每个 HTTP Session 创建一个实例。
  • application: 每个 ServletContext 创建一个实例。

4. 解释 Spring 事务管理的不同方式。

  • 编程式事务管理: 通过编程方式控制事务的边界,更加灵活但代码量较大。
  • 声明式事务管理: 使用注解或 XML 配置声明事务,简化开发但灵活性较低。

5. Spring MVC 框架的请求处理流程是什么?

  1. 用户发送请求到 DispatcherServlet。
  2. DispatcherServlet 根据请求信息选择合适的 Controller。
  3. Controller 处理请求并返回 ModelAndView 对象。
  4. DispatcherServlet 将逻辑视图名解析为实际视图。
  5. 视图渲染响应结果并返回给用户。

用户评论
请输入评论内容
评分:
暂无评论