1

我已经看到了切入点模式的两种变体:

execution(* some.package.*.*(..))

还有这个

execution(* some.package.* *(..))

最后两个 * 之间的点(或不存在)是什么意思?

4

1 回答 1

2

附录定义了切入点表达式语言的语法。对于执行表达式,规则如下:

execution(MethodPattern)

在哪里

MethodPattern = 
  [ModifiersPattern] TypePattern 
        [TypePattern . ] IdPattern (TypePattern | ".." , ... ) 
        [ throws ThrowsPattern ]

这意味着如果“(”之前有3个表达式(用空格分隔),那么第一个是修饰符,第二个是类,第三个是方法名。但是如果“(”之前有2个表达式,那么第一个是类和第二个将是方法名称。

于 2011-03-02T13:01:28.680 回答