1、當代碼中有多個業務切面使用到同一個切入點的時候,這時候就需要確定切面的優先級了
<!-- 緩存>數據源>事務 -->
<aop:config>
<!-- 切入點(service的所有方法) -->
<aop:pointcut id="txPointcut" expression="execution(* com.xxxxx.service.*.*(..))" />
<!-- 事務切面-->
<aop:advisor pointcut-ref="txPointcut" advice-ref="txAdvice" order="2"/>
<!-- druid spring切面監控 -->
<aop:advisor advice-ref="druid-stat-interceptor" pointcut-ref="druid-stat-pointcut" order="-2"/>
<!-- 數據源切面 -->
<aop:aspect ref="dataSourceAspect" order="1">
<aop:before method="before" pointcut-ref="txPointcut" />
</aop:aspect>
<!-- 緩存切面 -->
<aop:aspect ref="cacheAspect" order="-1">
<aop:around method="aroundMethod" pointcut-ref="txPointcut"/>
</aop:aspect>
</aop:config>
2、aop:advisor就是一個特殊的切面