Spring-AOP

AOP的概念

什么是AOP

  1. 面向切面编程,利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可用性,同时也提高了开发的效率。
  2. 通俗描述:不通过修改源代码的方式,在主干功能里面添加新功能。
  3. 例如我们很多系统的日志。

AOP底层原理

AOP底层使用动态代理实现

(1)有两种情况的动态代理

  1. 有接口情况,使用JDK动态代理
    创建接口实现类的代理对象,增强类方法
    底层实现:一个proxy类实现InvocationHandler的invoke方法,然后对其传入的接口进行增强操作。
  2. 没有接口的情况,是哦那个CGLIB动态代理
    创建子类的代理对象,增强类方法

AOP常见的几个术语

四个AOP常见术语

AOP用到的注解

@Component–添加类到spring容器中
@Aspect–使用AOP增强的类
@Order(1)–多个增强类时,优先执行参数小的类

几种通知方式的注解

@Before–之前
@AfterReturning–后置通知,返回之后
@After–最终通知,和finally差不多。
@AfterThrowing–异常通知
@Around–环绕通知{
环绕通知有一个参数(ProceedingJoinPoint pjp),需要用pjp.proceed();执行该调用,写在这个调用之前的就是环绕之前的逻辑,写在之后的就是环绕之后的逻辑
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值