我在配置为 Spring bean 的两个接口中使用 @Around 时遇到问题。其中一个接口是另一个接口的参数,并且总是作为空值传递。以下是代码片段
public interface Interface1 {
public void method1();
}
public interface Interface2 {
public void method2(Interface1 param1);
}
@Around("execution(* Interface1.method1(..))")
private void interceptor1(ProceedingJoinPoint pJoinPoint) throws Throwable{
//do something
}
@Around("execution(* Interface2.method2(..))")
private void interceptor2(ProceedingJoinPoint pJoinPoint) throws Throwable{
//do something
}
在对 Interface2 的调用代码中,我总是将参数 param1 到 method2 为 null。如果我删除上面的 @Around("execution(* Interface1.method1(..))") 它工作正常。为它们添加@Around 的原因是为了捕获异常以进行日志记录和审计,并阻止其余异常传播。
你能帮我解决这个问题吗?