Servlet 3.0 新特性,@WebServlet,ServletContainerInitializer,这两个新特性实现了 Spring 无配置文件(XML),所以非常重要。Spring 通过 SpringServletContainerInitializer 实现无配置化,注册 Servlet 和 Filter,通过 AbstractDispatcherServletInitializer 实现 DispatcherServlet 注册。而 SpringBoot 就是通过是实现自己的 TomcatStarter 实现无配置化。
如果想使用 @WebServlet、@WebFilter 、@WebListener 那么你必须要配合 @ServletComponentScan 使用。而 @ServletComponentScan 通过 ServletComponentScanRegistrar 实现扫描注册。
聊聊、@WebServlet @WebFilter @WebListener 和 @ServletComponentScan