Spring AOP:面向切面编程的最佳实践 ( 三 )

4.AOP核心概念

4.1.切面 (Aspect)

定义:切面是横切关注点的模块化实现,这个关注点可能会横切多个对象,它包含一组相关的通知和切点,共同定义了切面的行为和应用范围。它与类相似,只是两者的关注点不一样,类是对物体特征的抽象,而切面横切性关注点的抽象。

@Aspect
@Component
public class AspectAop {
   

	// 切点
	
	// 通知

}

4.2.连接点 (Join Point)

  • 定义:连接点是指程序执行过程中某个特定点,如方法调用、字段访问或异常抛出等。在 Spring AOP 中,连接点通常是方法执行的开始或结束。

  • 列举一些常见的连接点类型。

    • 方法执行 (execution(* com.example.service.*.*(..))):这是 Spring AOP 最常用的连接点类型。

    • 构造器调用 (execution(* com.example.service.*(..))):构造器的调用也可以被视为连接点。

    • 异常抛出 (throwing(pointcut, ..)):当方法抛出异常时发生的连接点。

4.2.切点 (Pointcut)

  • 定义:切点是一组连接点的集合,它定义了切面应该在哪些连接点应用。 切点通常是通过匹配规则来指定的,例如匹配特定的方法签名。

  • 介绍如何使用表达式来指定切点。

    • execution(* com.example.service.*.*(..)):这个切点表示所有 com.example.service 包下的所有类的所有方法。
    • @annotation(com.example.MyAnnotation):这个切点表示所有被 MyAnnotation 注解的方法。
execution(* com.yuan.aop.GymAop.*(..))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值