切面优先级 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就是一个特殊的切面

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