Каков наилучший способ иметь перехватчики для POJO?

#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) значительно замедляет компиляцию (или запуск).