我在项目中遇到了一个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"/>
此事务继续由另一种创建问题的方法使用。 提前谢谢。
答案 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