Какой фреймворк AOP является самым простым и наименее зависимым в Java?
Вопрос
Я хочу использовать фреймворк AOP, но у меня есть два ограничения.
Любой фреймворк, который я выберу
Должно быть, достаточно независим.Я планирую использовать это в устаревшей базе кода и, следовательно, не могу обновить потенциальные зависимости, такие как commons-logging-XXX.jar до commons-logging-newest.jar.
Должен быть достаточно хорошо документирован, не должен быть слишком сложным для понимания и интеграции.
Решение
AspectJ , насколько я могу судить, является просто компилятором и не накладывает никаких зависимостей на скомпилированные программы кроме включения AspectJ jar времени выполнения. Р>
Он также активно поддерживается, является частью проекта Eclipse и имеет отличную среду разработки ( AJDT , плагин для Eclipse).
Другие советы
Мне нравится Spring + AspectJ. Вы можете сделать все свои определения pointcut в xml , если вам нравится , и вам не нужно менять строку кода в ваших старых материалах. Если вы уже знакомы с концепциями Spring и AOP, изучать их нечего.
Ладно, этот не соответствует всем вашим требованиям, но я думаю, на него стоит взглянуть:http://dynamicaspects.sourceforge.net/
Положительные стороны
- Никаких зависимостей, кроме потребностей java 1.5, из-за использования JavaAgent
- XML-разметка не требуется и работает только с классами POJO
- Попробовал сам и нашел его очень простым в использовании (не очень сложным).
Негативы
- Больше не поддерживается afaik
- Плохая документация
- Вы не можете делать все, что позволяет вам делать полноценный фреймворк AOP
Я протестировал его некоторое время назад и был весьма впечатлен, но обнаружил некоторые сбои, которые сейчас не помню.Хотя вы могли бы попробовать.
Приветствую, ГХад