2010-03-22 15 views
8

Używam org.springframework.web.servlet.DispatcherServlet i org.springframework.ws.transport.http.MessageDispatcherServlet w tej samej aplikacji, ale każda z nich ładuje własny kontekst aplikacji, muszę załadować wszystkie fasole w kontekście pojedynczej aplikacji.Korzystanie z kontekstu aplikacji dla pojedynczej wiosny dla aplikacji internetowej

Aplikacja składa się z typowych warstw internetowych> app> dao itp

Co Próbowałem jest użycie tylko jednego spring-root-context.xml ustawiając go w contextConfigLocation.

Ale nie pomogło, to był dla mnie problem przez długi czas i byłbym wdzięczny za jakąkolwiek pomoc z tym.

Wszelkie referencje online będą bardzo pomocne.

Odpowiedz

12

To, czego potrzebujesz, to ContextLoaderListener. Jest to ServletContextListener, który tworzy root WebApplicationContext, który jest wspólny dla wszystkich serwletów w tej aplikacji internetowej.

Twoje DispatcherServlet i MessageDispatcherServlet będą nadal tworzyć własne konteksty, ale każdy będzie miał kontekst główny jako ich rodzic, więc będą mogli używać zarówno fasoli zdefiniowanych w tym kontekście głównym, takich jak DAO itp. Niektóre fasole będą miały pozostać w serwletach własnych kontekstów, takich jak kontrolery, widoki rozpoznawania nazw, punkty końcowe SOAP itd., ale współużytkowane wspólne komponenty mogą być umieszczone w katalogu głównym.

Aby zobaczyć przykład konfiguracji, zobacz Spring docs.

+0

Witaj skaffman, dzięki twojej dobrej pomocy działa jak marzenie, dziękuję :) – Ramo

+0

@Ramo: Miło mi pomóc. Tutaj klikasz symbol zaznaczenia obok mojej odpowiedzi :) – skaffman

+0

kliknięcie linki ponownie. Jak więc można go skonfigurować? – eis

Powiązane problemy