@Before("execution(public * com.aliyun.demolog.demos.web..*(..))")
在 Spring AOP 中,切入点表达式中的 * 用于匹配方法名或者包名的一部分。在 * 之后的括号中的参数则用于匹配方法的参数列表。
*():匹配零个参数的方法。
*(..):匹配任意数量参数的方法,包括零个参数。
*(*)):匹配一个参数,并且该参数的类型可以是任意类型。
举例说明:
execution(public * com.example.SomeClass.someMethod()):匹配 SomeClass 类中不带参数的 someMethod 方法。
execution(public * com.example.SomeClass.someMethod(..)):匹配 SomeClass 类中带任意数量参数的 someMethod 方法。
execution(public * com.example.SomeClass.someMethod(*)):匹配 SomeClass 类中带有一个参数的 someMethod 方法,且该参数可以是任意类型。
正确的aop切面表达式,前缀public!!
于 2024-02-14 21:19:10 首次发布