Инъекция зависимостей Java EE 5?


Поскольку Java EE 5 не имеет CDI, как здесь работает DI?

Можно ли ввести EJB с @EJB в класс, который не является EJB? Можно ли ввести EntityManager с @PersistenceContext в класс, который не является EJB (контейнер управляется не локальным ресурсом EntityManager)? Или единственным решением для приведения ресурсов в классы, не являющиеся EJB, является поиск JNDI?

Под классом non-EJB я имею в виду класс, который не аннотирован @Stateless/@Statefull или другие.

1 8

1 ответ:

Взято из: http://www.oracle.com/technetwork/articles/javaee/injection-141192.html

Имейте в виду, что контейнер платформы Java EE 5 может обрабатывать инъекции прозрачны только тогда, когда они используются на управляемых контейнерах компоненты, такие как бобы EJB, сервлеты и страницы JavaServer (JSP) обработчики технологических тегов.

Onjava есть статья: http://onjava.com/pub/a/onjava/2006/01/04/dependency-injection-java-ee-5.html

Это представляет читаемую таблицу управляемых компонентов (на контейнер), поддерживающих внедрение ресурсов какого типа.