AbstractAnnotationConfigDispatcherServletInitializer 类的继承结构
WebApplicationInitializer > AbstractContextLoaderInitializer > AbstractDispatcherServletInitializer > AbstractAnnotationConfigDispatcherServletInitializer
加载过程:
在Servlet 3.0环境中,容器会在类路径中查找实现javax.servlet.ServletContainerInitializer接口的类,如果能发现的话,就会用它来配置Servlet容器。
Spring提供了这个接口的实现,名为SpringServletContainerInitializer,这个类反过来又会查找实现WebApplicationInitializer的类并将配置的任务交给它们来完成。Spring3.2引入了一个便利的WebApplicationInitializer基础实现,也就是AbstractAnnotationConfigDispatcherServletInitializer。
所以我们的配置类继承自AbstractAnnotationConfigDispatcherServletInitializer 来实现配置, 如下
public class SpitterWebInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override //用来配置ContextLoaderListener创建的应用上下文中的bean。
protected Class<?>[] getRootConfigClasses() {
return new Class<?>[] { RootConfig.class };
}
@Override