Spring + Pivot - integracja w aplikacji Desktop

Spring + Pivot - integracja w aplikacji Desktop
0

Witajcie,

chciałbym zintegrować Spring wraz z Apache Pivot do wykorzystania w aplikacji Desktop, może ktoś z Was spotkał się już z takim problemem i wie jak go rozwiązać?

Problem w integracji polega na nie działającym Autowired dla obiektów tworzonych przez Pivot, według loga Spring komponenty tworzone przez Springa są pomyślnie wiązane za pomocą Autowired.

Shalom
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
0

Nie znam pivota, ale IoC potrafi wstrzykiwać tylko do obiektów które są zarządzane przez kontener IoC. Jeśli gdzieś tworzą się obiekty w inny sposób to nie da się do nich wstrzykiwać.
https://issues.apache.org/jira/browse/PIVOT-885


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
edytowany 1x, ostatnio: Shalom
0

Wiele z frameworkow DI ktore znam (Guice, Dagger, Spring, CDI / Weld) potrafi wstrzykiwac do juz istniejacych obiektow, wlasciwie tak to sie zawsze odbywa, i wiekszosc frameworkow udostepnia ta funkcjonalnosc. Np. Wicket pozwala na 'post-processing' swoich obiektow za pomoca IoC. Jedyne co trzeba zrobic to sprawdzic czy dany framework (w tym wypadku Pivot) pozwala na taki wlasnie post-process swoich obiektow zaraz po utworzeniu ale jeszcze przed pierwszym uzyciem, napisac jakiegos instantiation-listenera czy cos i tam uzyc wspomnianej wczesniej funkcjonalnosci. Dla wiekszosci frameworkow powinno sie to dac zrobic bez wiekszego problemu.

0

Dziękuje bardzo za wskazówki, poradziłem sobie za pomocą ApplicationContextAware. Niestety muszę pobierać Beany za pomocą metody getBean zamiast adnotacji, ale na szczęście wszystko działa tak jak chciałem.

Jeszcze raz wielkie dzięki!

0

Dosc kiepskie rozwiazanie - wiazesz kod aplikacji ze springiem, czyli zaaplikowales sobie vendor-lock.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.