切面優先級 Spring Aop

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就是一個特殊的切面

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章