@order注解是使用在切面类上,是可以来进行限制优先级的,数字越小越先被加载;
如:
@Order(1)//设置优先级为1
@Order(2)//设置优先级为2
其中@Order(1)的切面类首先被加载;
关于不使用注解的方式来设置优先级的方式为:(代码如下)
<aop:config>
<!-- 切点 -->
<aop:pointcut expression="execution(* * (..))" id="point" />
<!-- 关联切面 添加通知 -->
<aop:aspect ref="notify" order="2">
<aop:before method="before" pointcut-ref="point" />
<aop:after method="after" pointcut-ref="point" />
<aop:after-returning method="afterReturn"
pointcut-ref="point" returning="val" />
<aop:after-throwing method="afterException"
pointcut-ref="point" throwing="ex" />
<aop:around method="around" pointcut-ref="point" />
</aop:aspect>
<aop:aspect ref="validate" order="1">
<aop:before method="validate" pointcut-ref="point" />
</aop:aspect>
</aop:config>