Главная » Spring » Spring  и  Enterprise JavaBeans

0

Несколько лет тому назад на телевидении крутили ролик с рек- ламой арахисового масла компании Reese. В этом ролике один пер- сонаж наслаждался чашкой горячего шоколада, а другой – чашкой арахисового масла. В какой-то момент персонажи сталкивались, и их напитки смешивались. Один из них восклицал: «Вы плеснули шоколад в мое арахисовое масло!», а другой вторил ему: «Ваше ара- хисовое масло попало в мой шоколад!» После этого каждый про- бовал получившуюся смесь, и оба приходили к выводу, что «два отличных вкуса при смешивании дают еще более приятный вкус».

Возможно, вас удивит наличие в этой книге раздела, описываю- щего, как использовать компоненты EJB совместно с фреймворком Spring. Большая часть книги была посвящена разработке приложе- ний корпоративного уровня вообще без применения компонентов EJB. При сравнении Spring и EJB многие разработчики более склон- ны проводить аналогии с нефтью и водой, нежели с шоколадом и арахисовым маслом.

Несмотря на то что Spring предоставляет массу функциональных возможностей, которые способны поднять объекты POJO до уров- ня компонентов EJB, у вас не всегда может быть роскошь работать над проектом, полностью свободным от EJB. Кроме того, вам может потребоваться организовать взаимодействия с другими системами, экспортирующими свою функциональность посредством сеансовых компонентов EJB. Более того, вы можете оказаться в условиях, где одним из требований, по техническим или политическим причинам, является обязательное использование компонентов EJB.

Независимо от того, является ли ваше приложение клиентом, по- требляющим услуги, поставляемые компонентами EJB, или вы сами вынуждены писать компоненты EJB, у вас нет причин полностью отказываться от преимуществ Spring. Фреймворк Spring предостав- ляет три способа смешивания Spring и EJB, чтобы получить выгоду от обеих архитектур.

# Если ваше приложение пользуется службами, основанными на

сеансовых компонентах EJB, фреймворк Spring позволяет объ- являть компоненты EJB как компоненты в контексте приложе- ния Spring. Это дает возможность внедрять ссылки на сеансо- вые компоненты EJB (и EJB 2.x, и EJB 3) в свойства ваших ком- понентов, как если бы компоненты EJB были обычными POJO.

# Разрабатывая сеансовый компонент EJB 2.x, в нем можно

предусмотреть поддержку фреймворка Spring. Благодаря это- му ваш компонент EJB получит доступ к контексту приложе- ния Spring и сможет использовать другие компоненты, настро- енные в Spring.

# Фреймворк Pitchfork, обладающий поддержкой Spring, позво-

ляет использовать аннотации EJB 3 для применения простей- ших приемов аспектно-ориентированного программирования и внедрения зависимостей в компоненты, сконфигурирован- ные в контексте Spring.

В этой главе рассказывается об объединении компонентов EJB и Spring. Если у вас есть необходимость писать компоненты EJB с поддержкой Spring или внедрять EJB в свои Spring-приложения, эта глава для вас. Мы исследуем все доступные способы смешива- ния Spring и EJB, начав с внедрения компонентов EJB в контекст приложения Spring.

Источник:   Уоллс К., Spring в действии. – М.: ДМК Пресс, 2013. – 752 с.: ил.

По теме:

  • Комментарии