@Pointcut 支持的表达式有以下几种:
- 匹配方法名: 例如 @Pointcut("execution(* com.example.service.impl.MyService.*(..))")
- 匹配类型: 例如 @Pointcut("within(com.example.service.impl.MyService)")
- 匹配注解: 例如 @Pointcut("@annotation(com.example.annotation.MyAnnotation)")
- 匹配表达式: 例如 @Pointcut("bean(myService)")
这些表达式可以组合使用, 例如 @Pointcut("execution(* com.example.service.impl..(..)) && @annotation(com.example.annotation.MyAnnotation)")
请注意, 这些表达式是 AspectJ 表达式, 不是 Spring 表达式。