后端岗位面试题更新 2026-08-05

在Spring框架中,AOP(面向切面编程)涉及哪些核心术语?请列出并简要说明每个术语的含义。

后端开发技术原理

考察说明

考察对Spring AOP基础概念和术语体系的掌握程度。

回答思路

  1. 【回答框架 1】Spring AOP是面向切面编程的实现,核心思想是将横切关注点(如日志、事务)从业务逻辑中分离。关键术语包括切面(Aspect)、连接点(Join Point)、切点(Pointcut)、增强(Advice)、引入(Introduction)、织入(Weaving)等。
  2. 【回答框架 2】切面(Aspect)是横切关注点的模块化单元,通常包含切点和增强定义,如日志切面。连接点(Join Point)是程序执行过程中可插入切面的特定点,如方法调用或异常抛出,Spring AOP主要支持方法执行连接点。
  3. 【回答框架 3】切点(Pointcut)用于匹配连接点,决定增强在哪些方法上生效,通常由表达式(如execution)定义。增强(Advice)是在切点匹配到的连接点上执行的动作,分为前置(Before)、后置(After)、返回(AfterReturning)、异常(AfterThrowing)、环绕(Around)五种类型。
  4. 【回答框架 4】引入(Introduction)允许在不修改类代码的情况下为类添加新方法或属性,织入(Weaving)是将切面应用到目标对象并创建代理的过程,Spring AOP支持编译期、类加载期和运行期织入,默认使用运行期动态代理。
  5. 【回答框架 5】理解这些术语是掌握AOP应用的基础,实际使用中需明确切点表达式和增强类型,并注意代理机制(JDK动态代理或CGLIB)的差异。
  6. 【关键点 1】AOP术语包括切面、连接点、切点、增强、引入、织入。
  7. 【关键点 2】切点通过表达式匹配连接点,增强定义具体行为。
  8. 【关键点 3】Spring AOP默认使用运行期动态代理,支持JDK和CGLIB两种方式。
  9. 【易错点 1】混淆连接点和切点:连接点是所有可插入点,切点是实际匹配的子集。
  10. 【易错点 2】忽略代理模式对增强生效范围的影响,如自调用不会触发代理。
  11. 【易错点 3】将引入与动态代理混为一谈,引入是增加方法,代理是包装对象。