2012-05-19 13 views
5

Mam dużą aplikację, którą chcę podzielić na łatwe do zarządzania moduły. Używam wiosny z Jpa (Hibernate jako dostawca). Wymyśliłem strukturę, w której mam moduł podstawowy zawierający wszystkie klasy encji i dao, a pozostałe moduły wykorzystują moduł podstawowy dotyczący trwałości, a każdy z nich ma własny zestaw klas usług i kontrolerów.Automatyczne sadzenie fasoli z innego modułu

enter image description here

Wszystkie pliki konfiguracyjne JPA i wiosenne są w module podstawowym. W tej konfiguracji mam problem z autowirowaniem fasoli dao w modułach wykorzystujących moduł rdzeniowy. Tak więc moje pytanie brzmi: czy możliwe jest automatyzowanie fasoli z modułu rdzeniowego w innych modułach (lub prawdopodobnie użycie kontekstu między modułami)? Jestem także otwarty na sugestie dotyczące struktury, jeśli istnieje lepszy sposób na jej wykonanie.

Dzięki

+0

Czy moduły to moduł modułowy? –

Odpowiedz

0

Moduł Rdzeń musi być rodzicem kontekst Wiosna, które muszą być w każdym module setted kontekstowego dziecko. W ten sposób nie ma ploblem z autowiring

każdym kontekście dziecko może dotrzeć do wszystkich ziaren z rodzicem, ale zdawać sobie sprawę z tego rodzica nie można zobaczyć dzieci

zależności od sposobu skonfigurowaniu aplikacji, można zrób to na kilka sposobów, mi.

  1. Dystrybucja moduł podstawowy w osobnym słoiku do każdego modułu, jak to jest opisane w tym artykule Sharing a spring context across multiple Webapps
  2. Programowo, posiadające swój rdzeń sprężynowy xml w każdym module dziecka, można to zrobić:

    ClassPathXmlApplicationContext parentAppContext = new ClassPathXmlApplicationContext(); 
    parentAppContext.setConfigLocation("spring-core.xml"); // this is your core spring xml 
    parentAppContext.refresh(); 
    ClassPathXmlApplicationContext moduleAppContext = new ClassPathXmlApplicationContext(); 
    moduleAppContext.setConfigLocation("others.xml"); 
    moduleAppContext.setParent(parentAppContext); 
    moduleAppContext.refresh(); 
    
+0

Cześć, dziękuję za odpowiedź! Jak zatem uczynić moduł kontekstem nadrzędnym w innym module? – Chappex

Powiązane problemy