Аспект Порядок с AspectJ и SpringAOP - PullRequest
0 голосов
/ 17 января 2019

Я пытаюсь понять, как управлять порядком выполнения нескольких аспектов, более конкретно, созданных с помощью аннотации AspectJ @Aspect и используемых в системах с SpringAOP. Я нашел несколько вопросов, как показано ниже, но я ожидаю более систематического и сводного ответа.

Как заказать @ Аспект

Аспекты заказа с помощью Spring AOP && MVC

С AspectJ + SpringAOP аспект может быть введен / вплетен в цель одним из следующих методов (возможно, также других, о которых я не знаю):

  1. Авто-прокси (на основе DI)
  2. ткачество во время компиляции
  3. Посткомпиляционное плетение
  4. Время ткачества

Хотя для порядка выполнения среди нескольких аспектов, мы можем указать, используя:

  1. @ DeclarePrecedence, определенный в AspectJ
  2. @ Порядок, определенный весной
  3. Упорядоченный интерфейс, определенный в Spring

Таким образом, для каждого из 4 методов литья / плетения, какие из 3 спецификаций заказа будут соблюдаться? Кроме того, если в определенном сценарии поддерживается более одного механизма, возможно ли ввести конфликт порядка? Если да, каково поведение АОП?

...