切入点引用名称以以下开头的所有方法
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
。
我试图在我的代码中实现一个简单的切入点表达式,这是我的方面 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
。