首先要知道execution是什么?
execution是切入点指示符处理execution spring还有其他的切入点指示符
如execution、within、args、this、target和bean等切入点指示符
当然execution是最常用的 它里面的参数如下
execution(modifies-pattern? ret-type-pattern declaring-type-parttern? name--pattern(parm-pattern) throws-pattern?)以上打了问号的都可以省略。
上面格式中的execution是不变的,用于作为execution表达式的开头,整个表示式各个部分的解释为:
modifies-pattern:指定方法的修饰符,支持通配符,该部分可以省略。
ret-type-pattern:指定方法的返回值类型,支持通配符,可以使用“*”通配符来匹配所有返回值类型。
declaring-type-parttern:指定方法所属的类,支持通配符,该部分可以省略。
name--pattern:指定匹配指定方法名,支持通配符,可以使用“*”通配符来匹配所有方法。
parm-pattern:指定方法声明中的形参列表,支持两个通配符:“*”、“..”,其中*表示一个任意类型的参数,而“..”表示零个或多个任意类型的参数。
throws-pattern:指定方法声明抛出的异常,支持通配符,该部分可以省略。
例如:
//匹配任意public方法的执行。
execution(public * * (..))
只要明白了execution括号里的参数意义,就不难懂了
希望对你有用! |