Ситуация следующая:
У меня есть бизнес-уровень, это проект EJB. На самом деле создан только один EJB. Этот EJB отвечает за предоставление классов обслуживания другим уровням, которые вызывают EJB. Я хочу представить Spring (для использования функции DI) в этом слое.
Меня беспокоит, каков наилучший способ загрузки контекста пружины в этом бизнес-уровне, чтобы контекст пружины не загружался снова и снова, когда вызывается EJB?
(В веб-проекте преимущество заключается в том, чтобы сконфигурировать контекст Spring в contextLoaderListener, и он загружается один раз только при запуске приложения)
Я думал о включении пружины в тот же слой, потому что:
- Сконфигурируйте зависимости всех DAO и классов обслуживания и внедрите их, где это необходимо.
- Использование поддержки весны для спящего режима на бизнес-уровне.
- Простота модульного тестирования, добавляя свойства в классы и моделируя их. Не нужно запускать другие слои снова и снова, чтобы проверить мои бизнес-классы / методы.
- Чтобы иметь возможность использовать AOP (Аспектно-ориентированное программирование) для ведения журнала и аудита на уровне метода.
Пожалуйста, помогите мне предложить наилучший способ загрузки контекста Spring в EJB-проекте. Я также хочу знать, есть ли альтернативы, если я могу загрузить то же самое на сервере приложений (я использую сервер приложений веб-сферы).
Спасибо и всего наилучшего,
Джитендрия Даш