如果切点执行了两次,猜想原因:
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的文件被引用了两次!!!!