Это очень сложная тема, выходящая за рамки одного вопроса StackOverflow.
В основном:
- Самый простой случай - это Spring AOP,
где вы вообще не используете AspectJ,
но создать Java прокси из AspectJ
аннотаций. Это также наименее
мощный вариант. Только несколько точек
поддерживаются, и цели должны
be Spring Beans.
- Самый мощный вариант - статический
Сборник AspectJ, который вы
обычно интегрируются в вашу сборку
система (отлично работает с муравьем или
Maven). Ваши файлы классов на самом деле
изменено, чтобы включить аспекты. это
называется ткачеством во время компиляции.
- Ткачество во время загрузки где-то
между. Вы хотите посоветовать код,
но вы не хотите менять
файлы классов, так что вы "посоветуйте
загрузчик "(это не адекватный
определение, но это дает вам
идея). Loadtime-ткачество также
как правило, ваш единственный выбор, если вы хотите
добавить аспекты в стороннюю библиотеку
Код.
Вы должны прочитать Аспект J в действии Рамниваса Ладдада, чтобы понять все тонкие различия.
В любом случае настройки, которые вы используете в STS, должны отражать настройки, которые вы используете в своей системе сборки. Раздел 7. Аспектно-ориентированное программирование с помощью Spring из Spring Reference также очень полезно.