Odpowiedzialność klasy konfiguracyjnej dla Spring MVC
Przedstawiony sposób, obrazuje, jak skonfigurować Spring bez wykorzystania XML.
Aplikacja bazująca na Spring MVC musi mieć zaimplementowaną klasę konfiguracyjną. Klasa ta dostarcza bazowych informacji do rozpoczęcia pracy przez framework. Posiada ona elementy takie jak:
- Wskazanie pakietu, które mają zostać przeskanowane w celu poszukiwania beanów;
- Informacje na temat pozostałych plików konfiguracyjnych;
- Informacje o mapowaniu żądań.
Implementacja
Klasa konfiguracyjna musi dziedziczyć po AbstractAnnotationConfigDispatcherServletInitializer. Klasa bazowa dostarcza trzy metody, które muszą zostać nadpisane. Przykładowa implementacja może wyglądać następująco:
import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer; @Configuration @ComponentScan("app") public class Config extends AbstractAnnotationConfigDispatcherServletInitializer { protected Class<?>[] getRootConfigClasses() { return new Class[0]; } protected Class<?>[] getServletConfigClasses() { return new Class[] {Config.class} ; } protected String[] getServletMappings() { return new String[]{"/"}; } }
Mtody klasy bazowej
getRootConfigClasses
Zwraca konfiguracje bazowego kontekstu aplikacji lub null jeśli rejestrowanie kontkestu głównego nie jest pożadane.
@Nullable protected abstract Class<?>[] getRootConfigClasses();
getServletConfigClasses
Zwraca konfiguracje kontekstu serwletu aplikacji lub null w przypadku, kiedy cała konfiguracja jest określona przez konfiguracje bazową.
@Nullable protected abstract Class<?>[] getServletConfigClasses();
getServletMappings
Określa mapowanie żądań dla serwletu.
protected abstract String[] getServletMappings();
Wideo
Zobacz fragment szkolenia, który prezentuje prawidłową implementację klasy konfiguracyjną. Stanowi on element kursu dotyczący Spring: