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:指定方法声明抛出的异常,支持通配符,该部分可以省略.
时间: 2024-11-25 08:51:21