pointcut表达式
Pointcut表达式是AOP(面向切面编程)中一种定位切面(也就是切点)的工具,它允许程序员在不修改源代码的情况下,能够定义指定语义并直接修改目标对象的行为。简单来说就是Pointcut表达式的作用就是为了能够快速、简单的定位到应用中的特定方法,并能对这些方法进行通用的描述。
一、Pointcut表达式的构成
Pointcut表达式由一个或多个下面几个部分组成:
(1)类型模式:针对类及类的各种级别继承结构,如public、final、abstract等类型进行模式匹配,以便能够快速到目标类;
(2)方法模式:包括切点方法名、参数、返回值等等,从实现层面上描述特定的方法;
(3)位置模式:描述切点的执行方式,即在进入一个方法前、进入方法后、方法调用出现异常时等等,以及多个位置的混合模式;
(4)切入点函数:定义具体的Pointcut表达式。
二、Pointcut表达式的描述
jfinal优缺点Pointcut表达式是一个抽象表达,它通过定义类型、方法或位置等,来描述要拦截的方法,从而能够快速、精准地定位到具体的方法。
1、切入点描述语言
Pointcut表达式使用切点函数来定义,切点函数实际上就是一种描述语言,它通过若干个切入点来定义某个方法是否被拦截, 如execution()、within() 和args()等,具体可以使用各种正则表达式来提取指定的值;
2、类型模式
Pointcut表达式的类型模式是用来描述给定的类及类的派生结构,其中类模式针对public、final 、abstract等类型进行匹配,以便能够快速定位目标类;
3、方法模式
Pointcut表达式中的方法模式针对方法名、参数、返回值等等进行模式匹配,以便能够定位到实现层面上的特定方法;
4、位置模式
Pointcut表达式的位置模式是指在给定的切点上,拦截的时机,如在进入一个方法前、在方法调用后、方法调用出现异常等,以及多个位置的混合模式;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论