#spring #aop #interceptor
#spring #aop #перехватчик
Вопрос:
EJB 3.0 поставляется с концепцией перехватчиков, но опять же, они применимы только к EJBs. Мой проект требует разработки перехватчиков для классов POJO. Одним из вариантов для этого является использование Spring AOP. Я хочу знать, стоит ли тратить время на включение таких библиотек, как commons-logging, spring-aop, cglib, которые требуются для Spring AOP.
Комментарии:
1. Другой способ — использовать AspectJ.
Ответ №1:
Spring — это гораздо больше, чем Spring AOP, и вы не можете использовать Spring AOP без Spring, и я говорю не только о библиотеках Spring, но и о модели программирования Spring!
Итак, если вы считаете Spring полезным для вашего приложения (поверьте мне, он очень полезен для многих приложений), то вы можете его использовать. — Но это полноценная модель программирования, такая как EJB, а не только библиотека или простой фреймворк.
Но я думаю, что каждое современное нетривиальное приложение должно иметь контейнер ICO, поэтому Spring — один из вариантов, который у вас есть.
Ответ №2:
Конечно, это того стоит, но имейте в виду, что этого будет недостаточно, если вам понадобятся перехватчики для ваших POJOs: вам также понадобится «spring agent», который будет передан в качестве аргумента вашей jvm («Обработка во время загрузки»), или вы не сможете перехватить ваши методы pojos, или вам придется использовать «Обработку во время компиляции».
Короче говоря: POJO должны быть созданы с помощью Spring, чтобы они были «перехвачены».
CTW (или LTW) значительно замедляет компиляцию (или запуск).