我已经看到了切入点模式的两种变体:
这
execution(* some.package.*.*(..))
还有这个
execution(* some.package.* *(..))
最后两个 * 之间的点(或不存在)是什么意思?
本附录定义了切入点表达式语言的语法。对于执行表达式,规则如下:
execution(MethodPattern)
在哪里
MethodPattern =
[ModifiersPattern] TypePattern
[TypePattern . ] IdPattern (TypePattern | ".." , ... )
[ throws ThrowsPattern ]
这意味着如果“(”之前有3个表达式(用空格分隔),那么第一个是修饰符,第二个是类,第三个是方法名。但是如果“(”之前有2个表达式,那么第一个是类和第二个将是方法名称。