在spring-aop-transaction.xml中指定它们的方法名称序列是否重要?

时间:2016-10-12 15:17:41

标签: java spring spring-aop spring-transactions pointcut

我在项目中遇到了一个spring-aop-transaction.xml文件。 有两个部分。

<aop:config>
    <aop:advisor
        pointcut="execution

这里声明了所有接口。 和

<tx:advice id="TxAdvice" transaction-manager="transactionManager">
        <tx:attributes>

这里指定了所有方法名称。 我想知道提到方法名称的顺序是否有所不同,或者它们必须与接口声明的顺序完全相同。

感谢您的回答。

编辑: 如何强制关闭未结交易。

EX:

<tx:method name="updateData" propagation="REQUIRES_NEW"
    rollback-for="Exception"/>

此事务继续由另一种创建问题的方法使用。 提前谢谢。

1 个答案:

答案 0 :(得分:2)

您可以为您的方面标记订单优先级,这意味着您的建议有效运行http://docs.spring.io/spring/docs/current/spring-framework-reference/html/aop.html#aop-ataspectj-advice-ordering

@Order(2)

因此,当多个点切割匹配目标时,建议基于优先顺序执行,意味着@Order(1)标记的方面(建议)在@Order(2)之前执行

您可以查看此处完成的示例 Ordering aspects with Spring AOP && MVC