JPA - Operacja na bazach danych

0

Cześć. Mam pewien problem, korzystam z JSF i JPA. W jaki sposób mogę skorzystać z serwisu (@Inject) w klasie nie będacej beanem ? klasa ta jest używana w klasie serwisowej.

0

Dobierz się przez statyczną zmienną:

  1. Zrób beana, coś a la ApplicationContextHolder
  2. Zainiektuj do niego ApplicationContext
  3. W konstruktorze przypisz applicationContext to zmiennej statycznej
  4. Zrób statycznego gettera (a najlepiej zwróć Optionala), który zwraca applicationContext
  5. Wywołaj statycznego gettera w obiekcie niezarządzanym przez Springa i dobierz się do applicationContext
  6. Mając applicationContext możesz dobrać się do dowolnego beana poprzez np. metodę getBean
  7. PROFIT!
0

W JavaEE EJB wyciągniesz przez JNDI lookup, tak jak jest pokazane tutaj:
https://docs.oracle.com/javaee/6/tutorial/doc/gipjf.html
np.

ExampleBean exampleBean = (ExampleBean) InitialContext.lookup("java:module/ExampleBean");

a CDI tak:
SomeBean bean = CDI.current().select(SomeBean.class).get();

1 użytkowników online, w tym zalogowanych: 0, gości: 1