Da Java EE 5 nicht über CDI verfügt, wie funktioniert DI hier?Java EE 5 Abhängigkeitsinjektion?
Kann ein EJB mit @EJB
in eine Klasse injiziert werden, die kein EJB ist? Kann ein EntityManager
mit @PersistenceContext
in einer Klasse injiziert werden, die ein Nicht-EJB ist (Container verwaltete nicht Ressource lokal EntityManager
)? Oder die einzige Lösung, um die Ressourcen in Nicht-EJB-Klassen zu bringen, ist die JNDI-Suche?
Mit Nicht-EJB-Klasse meine ich eine Klasse, die nicht mit @Stateless
/@Statefull
oder anderen beschriftet ist.
Denken Sie daran, dass es Pre-CDI-Frameworks gibt, die Sie in dieser Situation verwenden können - Guice, PicoContainer, sogar der gefürchtete Frühling. Sie haben keine natürliche Fähigkeit, EJBs oder den kontextabhängigen "EntityManager" in ihre Objekte zu injizieren, aber es sollte ziemlich einfach sein, eine Brücke zu bauen, die es ihnen erlauben würde, obwohl dieser Spielraum zu klein ist, um eine Erklärung dafür zu enthalten . –