Spring AOP之切入点指示符

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring AOP之切入点指示符相关的知识,希望对你有一定的参考价值。

execution是Spring AOP中最主要的切入点指示符,该切入点的用法相对复杂,execution表达式的格式如下:

execution(modifiers-pattern? ret-type=pattern declaring-type-pattern?name-pattern(param-pattern) throws-pattern?)

上面格式中的execution是不变的,用于作为execution表达式的开头,整个表达式中的解释如下:

  • modifiers-pattern:指定方法的修饰符,支持通配符,该部分可以省略
  • ret-type-pattern:指定方法的返回值类型,支持通配符,可以使用"*"通配符来匹配所有的返回值类型。
  • declaring-type-pattern:指定方法所属的类,支持通配符,该部分可以省略。
  • name-pattern:指定匹配指定的方法名,支持通配符,可以使用"*"通配符来匹配所有方法。
  • param-pattern:指定方法声明中的形参列表,支持两个通配符,即"*"和"..",其中“*”代表一个任意类型的参数,而“..”代表零个或多个任意类型的参数。例如,()匹配一个不接受任何参数的方法,而(..)匹配一个接受任意数量参数的方法,(*)匹配了一个接受一个任何类型的参数的方法,(*,String)匹配了一个接受两个参数的方法,其中第一个参数是任意类型,第二个参数必须是String类型。
  • throws-pattern:指定方法声明抛出的异常,支持通配符,该部分可以省略.

以上是关于Spring AOP之切入点指示符的主要内容,如果未能解决你的问题,请参考以下文章

Spring AOP切入点表达式

Spring切点表达式

aop中Pointcut切入点指示符

zbb20181012 spring,aop,execution切入点表达式

Spring AOP的切入点表达式

Spring AOPSpring AOP之如何通过注解的方式实现各种通知类型的AOP操作进阶篇