全部学科
Python全栈
python
NodeJS全栈
nodejs
📅 2026-05-18 6 分钟 ✍️ juanwangdev

AOP术语

理解AOP需要掌握以下核心术语,这些概念贯穿AOP编程始终。

核心术语

切面(Aspect)

横切关注点的模块化封装,包含通知和切入点定义。

Java
@Aspect
@Component
public class LoggingAspect {
    // 切面 = 通知 + 切入点
}

连接点(Join Point)

程序执行过程中的特定点,如方法调用、异常抛出等。在Spring AOP中,连接点特指方法执行点

Java
// 所有方法执行都可以是连接点
public void save() {}      // 连接点
public void delete() {}     // 连接点

切入点(Pointcut)

匹配连接点的表达式,定义通知在哪些位置执行。

Java
@Pointcut("execution(* com.example.service.*.*(..))")
public void serviceLayer() {}

通知(Advice)

切面在特定连接点执行的动作,分为5种类型:

通知类型执行时机注解
前置通知方法执行前@Before
后置通知方法执行后(无论成功失败)@After
返回通知方法成功返回后@AfterReturning
异常通知方法抛出异常后@AfterThrowing
环绕通知包裹方法执行@Around

目标对象(Target Object)

被通知增强的对象,即业务逻辑所在的对象。

Java
@Service
public class UserService {
    // 被AOP增强的目标对象
    public void save() {}
}

代理(Proxy)

AOP框架创建的对象,包含目标对象的引用并负责调用通知。

织入(Weaving)

将切面应用到目标对象创建代理的过程。Spring使用运行时织入

术语关系图

text
切面(Aspect)
    ├── 切入点(Pointcut) ──匹配──> 连接点(Join Point)
    └── 通知(Advice) ──织入──> 目标对象(Target Object)
                                    ↓
                                代理(Proxy)

要点总结

  1. 切面 = 通知 + 切入点,是横切关注点的封装
  2. 连接点是程序执行的特定点,Spring AOP指方法执行点
  3. 切入点用于匹配连接点,决定通知执行位置
  4. 通知定义了在切入点执行的具体动作
  5. 织入是将切面应用到目标对象的过程
想在手机上练习这篇文章的配套题目?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码
← 上一篇 AOP概念
下一篇 → AOP代理
扫码体验小程序
加载中
想在手机上刷题学习?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码