• AspectJ的Execution表达式


    AspectJ 定义了专门的表达式用于指定切入点。表达式的原型如下:
    execution(modifiers-pattern? ret-type-pattern declaring-type-pattern?name-pattern(param-pattern) throws-pattern?)
    说明:
    modifiers-pattern] 访问权限类型
    ret-type-pattern 返回值类型
    declaring-type-pattern 包名类名
    name-pattern(param-pattern) 方法名(参数类型和参数个数)
    throws-pattern 抛出异常类型 ?表示可选的部分
    以上表达式共 4 个部分。
    execution(访问权限 方法返回值    方法声明(参数) 异常类型)
    切入点表达式要匹配的对象就是目标方法的方法名。所以,execution 表达式中就是方法的签名。
    PS:表达式中黑色文字表示可省略部分,各部分间用空格分开。在其中可以使用以下符号:
    | 符号 | 意义 |
    | * | 0-多个任意字符 |
    | .. | 用在方法参数中,表示任意个参数;用在包名后,表示当前及其子包路径 |
    | + | 用在类名后,表示当前及其子类;用在接口后,表示当前接口及其实现类 |

    示例:
    execution(* com.kkb.service..(..))
    指定切入点为:定义在 service 包里的任意类的任意方法。

    execution(* com.kkb.service...(..))
    指定切入点为:定义在 service 包或者子包里的任意类的任意方法。“..”出现在类名中时,后面必须跟 “*”,表示包、子包下的所有类。

    execution(* com.kkb.service.IUserService+.*(..))
    指定切入点为:IUserService 若为接口,则为接口中的任意方法及其所有实现类中的任意方法;若为类, 则为该类及其子类中的任意方法。

  • 相关阅读:
    Linux文件默认权限和umask笔记
    Linux文件默认权限和umask笔记
    Linux关于文件的权限笔记
    Linux关于文件的权限笔记
    Linux文件和目录权限笔记
    Linux文件和目录权限笔记
    Linux文件目录基础笔记
    Linux文件目录基础笔记
    spark在collect收集数据的时候出现outOfMemoryError:java heap space
    查看hadoop压缩方式
  • 原文地址:https://www.cnblogs.com/baicia/p/14711810.html
Copyright © 2020-2023  润新知