全部学科
NodeJS全栈
nodejs
Python全栈
python
小程序首页
📅 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概念
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库