如果切點執行了兩次,猜想原因:
1、可能是我配置的是被切對象中的所有方法,而我當時執行的那個方法恰好執行了是會執行切點方法中的兩個方法;
<bean id="orderTrackingManager" class="com.sdk.manager.order.OrderTrackingManagerImpl"/> <aop:config> <aop:aspect id="orderTrackingAspect" ref="orderTrackingManager"> <aop:pointcut id="saveTrackOrderLogMethod" expression="execution(* com.sdk.manager.order.OrderManager.*(*,*))"/> <aop:after-returning method="saveTrackOrderLog" pointcut-ref="saveTrackOrderLogMethod"/> </aop:aspect> </aop:config> </beans>
2、經過各方度娘,是代理執行了兩次,即配置了多個代理創建器,多個代理創建器,產生了多個代理,代理2代理了代理1,代理1代理了本體,所以就產生了aop執行兩次
查看測試類的頭文件發現:


配置aop的文件被引用了兩次!!!!
