spring aop未执行问题记录

在类com.ipharmacare.plat.service.data.DocOrgService中定义了如下2个方法:
	public int operate(Integer docId, String[] allOrgs, DocManageVo doc) {

int r = 0;
...

return r;

}

public int operate(DocManageVo doc, String[] allOrgs, String productId, String entCode) {

int r = 0;

...

r += operate(doc.getId(), allOrgs, doc);

return r;
}

spring aop配置如下:
		<aop:aspect id="aspect.deliveryChangeLog.aop" ref="deliveryChangeLogAop">
<aop:pointcut
expression="execution(int com.ipharmacare.plat.service.data.DocOrgService.operate(Integer,..))"
id="pointcut.deliveryChangeLog" />
<aop:around method="around" pointcut-ref="pointcut.deliveryChangeLog" />
<aop:after method="after" pointcut-ref="pointcut.deliveryChangeLog" />
</aop:aspect>


在DocManageAction中调用了方法DocOrgService.operate(DocManageVo doc, String[] allOrgs, String productId, String entCode),[color=red]发现AOP中的逻辑并没执行[/color],这有点奇怪了!?

无意间我在DocManageAction中调用方法DocOrgService.operate(Integer docId, String[] allOrgs, DocManageVo doc),[color=blue]发现AOP中逻辑已成功执行[/color]!

这就有点不明白了,何以在DocOrgService本类中调用operate(Integer docId, String[] allOrgs, DocManageVo doc)方法,其AOP逻辑为何不生效呢,而必须在其它类中调用该方法其AOP逻辑才生效!?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值