以相同顺序应用Spring Aspect的顺序

问题描述

假设多个方面都在应用中,并且可以在某种方法上应用。注释@orderOrdered接口可以指定其优先级。

但是如果@Order 的值相同,如何确定申请顺序?

解决方法

当在不同方面定义的两条建议都需要在同一连接点上运行时,除非您另外指定执行顺序未定义。您可以通过指定优先级来控制执行顺序。通过在方面类中实现org.springframework.core.Ordered接口或使用Order批注对其进行注释,可以通过普通的Spring方法来完成。从两个方面来看,从Ordered.getValue()(或批注值)返回较低值的方面具有较高的优先级。

无法控制,请参考文档6.2.4.7