一 .概述
在上一节之中,我们看到了使用AspectJ处理AOP变得十分简单了.
其核心有两点是需要我们重点注意的:
(1)切入点表达式
(2)通知增强的注解
本节,重点说一下切入点表达式的问题.
二 .切入点表达式
切入点表达式重点表示的就是通知到底应该在上面方法上面生效.
因此,切入点表达式的核心就很好理解了.
在AspectJ之中,定义了很多的切入点表达式的情况,数量十分的多,但是我们却只需要知道少数的几个就能完成我们的日常任务.
其中最为重要的就是 execution() : 表达式函数系列
三 .execution表达式函数系列的切入点:
概述: 表达的就是切入点出的函数的定义(方法的描述).
因此 : 核心的结构如下:
方法的返回值 全类名.方法名(方法的参数列表)
此外还有如异常等,这个我们一般不会重点关注的就不做表述.
通配符的概念 :
AspectJ支持通配符的概念:
(1) * : 表示代表任意的字符
(2).. : 表示任意的子包和通配所有的参数列表
(3) + : 这个我们一般不会去使用,介绍一下就可以了,通配类型或其子类.
此外,为了更好的使用切入点表达式,还提供了逻辑运算符的概念.
这个也是十分的简单的.
(1)&& : 表示逻辑与.
(2)|| : 表示逻辑或
(3) ! : 表示逻辑非
四 .注解切入点
我们现在的开发之后总,最为常见的就是注解了.因此,AspectJ也支持注解形式的支持.
语法格式: @annotation(注解的全类名)
这个十分的好理解,不去多说什么了.
五 总结
虽然切入点表达式的内容很多,但是我们使用的种类却不是很多,原因就是剩下的都是进行精确匹配的.
我们现在只需要注意两种切入点表达式就基本够用了.
(1)函数表达式
(2)注解表达式