切入点引用名称以以下开头的所有方法

Pointcut referring to all methods with name starting by

我试图在我的代码中实现一个简单的切入点表达式,这是我的方面 class

@Aspect
public class PaymentAspect {
    
    @Autowired
    private OrdineService ordineService;
    
    @Pointcut("execution(* *..createPayment*(..))")  
    public void toVerifyCart() {} 
      
    @Before("toVerifyCart()")
    public void validateCart(JoinPoint jp) throws ServiceException, TokenStreamException {
    
         //Instructions...
    }
}

这是我想在其之前调用 validateCart() 方法的方法之一...

public String createPayment(@RequestData(paramaterName = "httpRequest") Long cartID,
        String currency, String appContext, 
        @RequestData(paramaterName = "httpRequest") HttpServletRequest request) throws ServiceException;

唯一的问题是我的代码根本没有调用方法...这里有什么我弄错了吗?

试试 @Pointcut("execution(* createPayment*(..))")

我的错,显然 @Aspect 并不意味着它是一个 Spring 组件,所以我所要做的就是在 class

之上添加 @Component

您在这里遗漏的一件重要事情是 @Configuration。您可以只使用 @Component 来启用 class 作为候选组件,但对于 @Aspect,您最好将其注释为 @Configuration