문제

Since Java EE 5 does not have CDI, how does DI work in here?

Can an EJB be injected with @EJB in a class that is a non-EJB? Can an EntityManager be injected with @PersistenceContext in a class that is a non-EJB (container managed not resource local EntityManager)? Or the only solution to bring the resources in non-EJB classes is by JNDI lookup?

By non-EJB class I mean a class that is not annotated with @Stateless/@Statefull or others.

도움이 되었습니까?

해결책

Taken from: http://www.oracle.com/technetwork/articles/javaee/injection-141192.html

Keep in mind that a Java EE 5 platform container can handle the injections transparently only when they are used on container-managed components, such as EJB beans, Servlets, and JavaServer Pages (JSP) technology tag handlers.

onjava has an article: http://onjava.com/pub/a/onjava/2006/01/04/dependency-injection-java-ee-5.html

It presents a readable table of which managed-components (per container) that support injection of what type of resources.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top