不同包中特定方法的切入点表达式

Pointcut Expression for specific methods in different packages

我在 @Around 建议中尝试了特定包的切入点表达式,如 com.abc.def.controllercom.abc.def.service.serviceImpl 等:

@Around("execution(* com.abc.def.controller..*.*(..))")
@Around("execution(* com.abc.def.service.*Impl.*(..))")

我还需要匹配 com.abc.xyz.controllercom.abc.xyz.service.serviceImpl 等不同包中的方法,并尝试了很多切入点表达式但没有奏效。

如有任何帮助,我们将不胜感激。 :)

试试下面的表达式,

@Around("execution(* com.abc.def.controller.*.*(..))")

这个怎么样?

@Around("execution(* com.abc..controller..*(..))")
@Around("execution(* com.abc..service.*Impl.*(..))")

您也可以像这样同时匹配两者:

@Around(
    "execution(* com.abc..controller..*(..)) || " + 
    "execution(* com.abc..service.*Impl.*(..))"
)

其他变体也是可能的,具体取决于您想要实现的目标。欢迎提出相关 follow-up 问题。