Какая структура АОП в Java является самой простой и наименее зависимой?

Я хочу использовать структуру АОП, но у меня есть два ограничения.

Любой фреймворк, который я выберу

  1. Должен быть достаточно независимым. Я планирую использовать это в базе устаревшего кода, и, следовательно, не может обновить предполагаемые зависимости, такие как commons-logging-XXX.jar, до commons-logging-newest.jar.

  2. Должен быть достаточно хорошо документирован, не должен быть слишком сложным для понимания и интеграции.

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
5
0
1 969
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

AspectJ, насколько я могу судить, - это просто компилятор и не накладывает никаких зависимостей на скомпилированные программы, кроме включения jar-файла времени выполнения AspectJ.

Он также активно поддерживается, является частью проекта Eclipse и имеет хорошую среду разработки (AJDT, плагин для Eclipse).

Ладно, это не соответствует всем вашим требованиям, но я думаю, что на него стоит взглянуть: http://dynamicaspects.sourceforge.net/

Положительные

  • Никаких зависимостей, кроме необходимости java 1.5 из-за использования JavaAgent
  • Разметка XML не требуется, работает только с классами POJO.
  • Пробовал себя и нашел очень простым в использовании (не очень сложным)

Отрицательные

  • Больше нет активно поддерживаемого afaik
  • Плохая документация
  • Вы не можете делать все, что позволяет полноценная среда АОП.

Некоторое время назад я протестировал его и был очень впечатлен, но обнаружил некоторые глюки, о которых сейчас не помню. Хотя вы можете попробовать.

Greetz, GHad

Мне нравится Spring + AspectJ. Вы можете сделать все свои определения pointcut в xml если хочешь, и вам не нужно менять строку кода в устаревших материалах. Если вы уже знакомы с концепциями Spring и АОП, многому не нужно учиться.

Единственное, что меня беспокоит в Spring AOP, - это количество имеющихся в нем зависимостей.

Swapnonil Mukherjee 20.10.2008 17:23

Другие вопросы по теме