这篇文章给大家介绍如何进行@Aspect注解的详细分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
spring中支持9种@Aspect注解的函数,它们表示用不同的方式描述目标类的连接点,它们主要分别4种类型:
下面我们看一下具体的切点函数的具体使用。
@Aspect注解按是否支持通配付符及支持程度上分可以分为3类:
支持所有通配符:excution()、within()、
支持+通配符:args()、this()、target()
不支持通配符:@args()、@within()、@target()、@annotation()
逻辑运算符
我们知道切点是由函数组成,切点与切点之间可以进行逻辑运算,这就组合成了复合切点,下面我们看一下spring中支持的切点运算符:
&& 与操作符 也就是执行切点的交集运算,在spring中除了使用&&符号我们还可直接使用and关键字
|| 或操作符 也就是执行切点的并集运算,同样在spring中我们除了可以使用|| 符号外我们还可以使用or关键字
!非操作符 也就是执行反集运算,同样在spring中我们除了可以使用!符号外我们还可以使用not关键字
不同的增强类型
@Before
前置增强,相当于BeforeAdvice功能,该注解有两个属性它们分别是:
后置增强,相当于AfterRetruningAdvice,该注解有4个属性:
环绕增强,相当于MethodInterceptor,该注解主要有2个属性:
value: 同上
argNames: 同上
@AfterThrowing
抛出增强,相当于ThrowsAdvice,该注解有4个属性:
Final增强,不管是抛出异常还是正常退出,该增强都会执行,主要的功能是用于资源释放,该注解也有2个属性:
value:同上
argNames: 同上
@DeclareParents
引介增强,相当于IntroductionInterceptor,该注解有两个属性:
value: 同上
defaultImpl: 默认的接口实现类
关于如何进行@Aspect注解的详细分析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。