Инъекция зависимостей Java EE 5?
Поскольку Java EE 5 не имеет CDI, как здесь работает DI?
Можно ли ввести EJB с @EJB
в класс, который не является EJB?
Можно ли ввести EntityManager
с @PersistenceContext
в класс, который не является EJB (контейнер управляется не локальным ресурсом EntityManager
)? Или единственным решением для приведения ресурсов в классы, не являющиеся EJB, является поиск JNDI?
Под классом non-EJB я имею в виду класс, который не аннотирован @Stateless
/@Statefull
или другие.
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
Это представляет читаемую таблицу управляемых компонентов (на контейнер), поддерживающих внедрение ресурсов какого типа.