Главная » Spring » Внедрение компонентов EJB в компоненты Spring

0

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

<bean id="rantService" class="com.roadrantz.service.RantServiceImpl">

<property  name="trafficService"  ref="trafficService"  />

</bean>

Заметили? Здесь нет ничего, что говорило бы об использовании компонента EJB. Здесь в свойство trafficService просто внедряется компонент trafficService (который по стечению обстоятельств явля- ется прокси-объектом для доступа к EJB). Здесь вообще отсутствуют какие-либо признаки, свидетельствующие, что речь идет о компо- ненте EJB. Как показано на рис. 16.3, проксированные компоненты EJB могут внедряться в другие компоненты, подобно любым другим POJO, сконфигурированным в Spring.

Рис. 16.3. Прокси-объекты для доступа к EJB и JNDI могут внедряться в компоненты Spring, как если бы они были обычными компонентами Spring

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

Кроме того, благодаря тому что все это скрыто за прикладным ин- терфейсом TrafficService, компонент trafficService даже понятия не имеет, что взаимодействует с компонентом EJB. С его точки зрения

он использует другой POJO. Это важно, потому что подразумевает возможность замены EJB-реализации интерфейса TrafficService лю- бой другой реализацией (возможно, даже фиктивной, используемой для тестирования класса RantServiceImpl).

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

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

По теме:

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