Какая простейшая и наименее зависимая инфраструктура AOP в Java? - PullRequest
5 голосов
/ 20 октября 2008

Я хочу использовать платформу AOP, но у меня есть два ограничения.

Любые рамки, которые я выберу

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

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

Ответы [ 3 ]

5 голосов
/ 20 октября 2008

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

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

1 голос
/ 20 октября 2008

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

0 голосов
/ 20 октября 2008

Хорошо, этот не соответствует всем вашим требованиям, но я думаю, стоит посмотреть: http://dynamicaspects.sourceforge.net/

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

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

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

  • Нет более активно поддерживается afaik
  • Плохая документация
  • Вы не можете делать все, что позволяет полноценный AOP-фреймворк

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

Greetz, GHad

...