Spring AOP:在::0处出错在两个不同的方法上应用AOP的绑定不一致

Spring AOP:在::0处出错在两个不同的方法上应用AOP的绑定不一致,spring,aop,spring-aop,spring-annotations,Spring,Aop,Spring Aop,Spring Annotations,我试图在两个不同路径的两个不同方法上应用@before方面 class Service1{ public Object applyX(X x){ //code } } class Service2{ public OtherObject applyY(Y y){ //code } } 我有我的方面课程: @Aspect @Component public class MyProcessor { @Before("execution

我试图在两个不同路径的两个不同方法上应用@before方面

class Service1{
    public Object applyX(X x){
     //code
    }
}

class Service2{
    public OtherObject applyY(Y y){
     //code
    }
}
我有我的方面课程:

@Aspect
@Component
public class MyProcessor {

    @Before("execution(* com.a.b.c.Service1.applyX"
            + " (com.xp.X)) "
            + "&& args(engineEvaluationRequest) || "
            + "execution(* com.a.b.d.Service2.applyY"
            + " (com.yp.Y))"
            + "&& args(y)")
    public void process(X x ,Y y){
        //code
    }
}
我收到一个错误
org.springframework.beans.factory.BeanCreationException:在类路径资源[springfox/documentation/spring/web/SpringfoxWebMvcConfiguration.class]:bean实例化失败之前创建名为“objectMapperConfigurer”的bean时出错;嵌套异常为org.springframework.beans.factory.BeanCreationException:创建名为“org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration”的bean时出错:bean初始化失败;嵌套异常为java.lang.IllegalArgumentException:错误位于::0不一致绑定

我不明白出了什么问题。我能得到帮助吗?
谢谢

错误消息
unconsistent binding
已经指出:您与
args()
的变量绑定不一致,因为它由于
|
(逻辑or)运算符而不明确。找到了
X
,可以绑定,或者
Y
,但另一个未定义。您可能会假设,如果变量未绑定,则默认为
null
,但这种假设是错误的。AspectJ不是这样工作的。切入点必须将变量明确地绑定到相应的通知参数


那么,你如何修复它呢?只需使用两个切入点/建议对,而不是一个。如果建议很复杂,并且包含大量代码,您仍然可以将该代码分解成一个使用
连接点
参数的助手方法。

错误消息
不一致绑定
已经说明了这一点:您与
args()
的变量绑定不一致,因为
|
(逻辑或)运算符。找到了
X
,可以绑定或
Y
,但另一个未定义。您可能会假设,如果变量未绑定,则默认为
null
,但此假设是错误的。AspectJ不是这样工作的。切入点必须将变量明确绑定到相应的通知参数埃特斯


那么你如何修复它呢?只需使用两个切入点/建议对,而不是一个。如果建议很复杂并且包含很多代码,你仍然可以将代码分解成一个助手方法,使用
JoinPoint
参数左右。

我写这篇文章时你坐在我旁边吗?你一切都对了。我已经修复了它。你呢我写的时候坐在我旁边?你一切都对了。我已经修好了。