ServletContextInitializer
ServletContextInitializer 是 Spring Boot 提供的一个接口,允许你在内嵌 Servlet 容器(如 Tomcat)启动时,自定义注册 Servlet、Filter、Listener 或修改 ServletContext 属性。 @FunctionalInterface public interface ServletContextInitializer { void onStartup(ServletContext servletContext) throws ServletException; } 这个接口会在内嵌容器启动时自动被调用(等价于 web.xml 的内容)。 它和Bean的生命周期的关系? 它不是 Bean 的生命周期钩子,但它是由 Spring Boot 的 ServletWebServerApplicationContext 在 Web 容器启动前主动调用的。 大概在 Spring 完成 ApplicationContext.refresh() 时: // 调用所有 ServletContextInitializer 的 on....