Gdy używam DispatcherServlet, dostaję java.lang.IllegalStateException: Brak WebApplicationContext: brak ContextLoaderListener konta? błąd, gdy używam filtru DelegowanieFilterProxy . Dlatego usunąłem DispatcherServlet, a teraz używam zamiast tego ContextLoaderListener, a moja aplikacja Spring ładuje się prawidłowo. Jednak mam problem z jednym bardzo ważnym Fasola:DefaultAnnotationHandlerMapping poprzez ContextLoaderListener zamiast DispatcherServlet na wiosnę 3
<context:component-scan base-package="com.mydomain"/>
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
<property name="interceptors">
<list>
<ref bean="openSessionInViewInterceptor" />
</list>
</property>
</bean>
Ta fasola nie działa żaden z URL są mojego @ sterownika odwzorowaną więcej. Jeśli przełożę się ponownie na używanie DispatcherServlet, nie ma problemu (z tym że mój filtr znów jest bezużyteczny). Jak mogę poprawnie załadować komponent bean z poziomu ContextLoaderListener?
Cheers
Nik
Aha! To jest BARDZO klarowne. :-) Ale, czy masz jakieś dobre linki na temat tego, jak mogę skonfigurować ContextLoaderListener do zanurzenia w kontekście serwletu lub na odwrót? Ponieważ kiedy używam obu, to tworzy on dwa komponenty bean dwa razy (z wyjątkiem DefaultAnnotationHandler i pod warunkiem, że ustawiłem contextCamfigLocation kontekstu do pliku konfiguracyjnego serwletu.Jeśli utworzę osobny plik konfiguracyjny, muszę skopiować/wkleić fasolę do uwierzytelniania lub importowania danych i warstwy biznesowej, dzięki czemu wszystkie te ziarna są dwa razy .Jak mogę je mieć tylko raz? – niklassaers
Kontekst aplikacji utworzony przez ContextLoaderListener jest kontekstem nadrzędnym dla kontekstu aplikacji serwletu. KontextLoaderListener appcontext są automatycznie widoczne dla ziaren w appcontext serwletu (ale nie na odwrót), więc wszystkie, które są wspólne, powinny być zadeklarowane w rodzicu. – skaffman
Dziękuję bardzo, nie wiedziałem o tym. Poprawiłem moją konfigurację, a teraz wszystko działa znakomicie. :-) Dziękuję bardzo i dziękuję za wszystkie inne czasy, w których mi pomogłeś. Zdecydowanie muszę kupić ci kilka piw :-) – niklassaers