我有两节课

AbstractWorkFlow

ProductionWorkFlow


AbstractWorkFlow完全实现了方法executeWorkFlow,我没有在ProductionWorkFlow中覆盖它。

现在,我将Spring AOP添加到ProductionWorkFlow.executeWorkFlow方法。

<aop:pointcut id="businessService"
         expression="execution(* ProductionWorkFlow.executeWorkFlow())" />
<aop:around pointcut-ref="businessService"  method="log"/>


但是,即使执行了executeWorkFlow,我的方面似乎也没有被触发。关于这个问题的任何想法。

最佳答案

尝试将切入点替换为:

execution(* AbstractWorkflow+.executeWorkflow());


您的建议不匹配,因为ProductionWorkFlow不会覆盖executeWorkFlow,因此execution(* ProductionWorkFlow.executeWorkflow())不存在。

如果您真的只想建议ProductionWorkFlow,而不是其他实现,则将其更改为:

execution(* AbstractWorkFlow+.executeWorkflow()) && target(ProductionWorkFlow);

关于java - 在不覆盖父类方法的类方法中添加spring aop,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11667983/

10-10 14:39