AOP学习(1),常用注解解释

AOP学习

AOP注解详解

@Aspect

添加这个注解后,代表当前类可以被Spring管理。并且作为切面。

@Before

前置增强,在有@Aspect的类中的方法添加此注解,就可以在方法中对切点进行方法的前置增强。相当于Advice接口下BeforeAdvice接口的作用。

@AfterReturning

后置增强,在有@Aspect的类中的方法添加此注解,就可以在方法中对切点进行方法的后置增强。方法正常退出后会执行此方法。相当于Advice接口下AfterReturningAdvice接口的作用。

@AfterThrowing

异常抛出增强,在有@Aspect的类中的方法添加此注解,就可以在方法中对切点进行方法的异常抛出增强。方法抛出异常后会执行此方法。相当于ThrowsAdvice接口的作用。

@After

final增强,无论是方法抛出异常还是正常执行完毕,都会执行@After注解下的方法。

@Around

环绕增强,这个是最常用的一种注解之一,通过调用切点的proceed方法来执行原方法,在调用前后可以进行切点的逻辑添加。相当于MethodInterceptor。

@DeclareParents

引介增强,相当于IntroductionInterceptor。在不改变原有方法的基础上却可以增加新的方法。IntroductionInterceptor继承了MethodInterceptor和DynamicIntroductionAdvice接口,其中implementsInterface()方法(继承自DynamicIntroductionAdvice)如果返回true,表示目前的 IntroductionInterceptor实现了给定的接口(也就是要额外增加行为的接口),此时要使用invoke()调用该接口上的方法,让目标执行额外的行为。需要注意的是不可能使用MethodInvocation的proceed()方法,因为要执行的是类原来没有的行为,proceed()方法没有意义。

@annotation

注解注解,参数值可以填写一个注解,这样可以切所有所有被注解的方法。

@args

参数注解,该函数接收一个注解类的类名,当方法的运行时入参对象标注了指定的注解时,匹配切点。

@within

这个通常和@annotation进行比较,@annotation是方法级别的,@within是类级别的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值