Servlet3.0環境中,容器會在類路徑中查找實現ServletContainerInitializer 接口的類,如果發現的話,就用它來配置Servlet容器。
Spring提供了這個接口的實現類 SpringServletContainerInitializer , 通過@HandlesTypes(WebApplicationInitializer.class)設置,這個類反過來會查找實現WebApplicationInitializer 的類,並將配置的任務交給他們來完成。
AbstractAnnotationConfigDispatcherServletInitializer 類擴展了WebApplicationInitializer 。這樣就可以通過實現AbstractAnnotationConfigDispatcherServletInitializer 來進行配置Servlet的上下文了。