Я не являюсь пользователем Spring, но AFAIK @DeclarePrecedence
не реализован в Spring AOP, он влияет только на аспекты AspectJ, то есть если вы используете LTW с AspectJ, он будет работать, иначе вы застряли с @Order
плюс специальнымзначения, такие как Ordered.LOWEST_PRECEDENCE
и Ordered.HIGHEST_PRECEDENCE
.
IMO, если у вас есть проблемы с приоритетностью аспектов, ваш дизайн имеет недостатки.Аспект должен реализовывать сквозную проблему и быть независимым от других аспектов.Конечно, есть исключения из каждого правила, но они должны влиять только на аспекты из одной библиотеки, которые иногда могут быть взаимозависимыми.Аспекты разных библиотек не должны делать никаких предположений о порядке.Так что, если это реальная проблема в вашей кодовой базе, а не просто теоретический вопрос - go refactor!