ContextLoaderListener是Servlet容器啟動時的一個監聽器,它負責初始化Spring的根應用上下文。當Servlet容器啟動時,ContextLoaderListener會被調用,然后它會創建一個ApplicationContext實例,并將其存儲在ServletContext的屬性中,以便在整個應用程序中可以共享。
ContextLoaderListener的工作流程如下:
- Servlet容器啟動時,ContextLoaderListener會被實例化并調用contextInitialized()方法。
- 在contextInitialized()方法中,ContextLoaderListener會創建一個新的ApplicationContext實例,該實例包含應用程序的所有bean定義和配置信息。
- ApplicationContext實例會被存儲在ServletContext中,以便在整個應用程序中可以共享。
- 應用程序的其他組件可以通過ServletContext獲取ApplicationContext實例,并使用其中的bean。
- 當Servlet容器關閉時,ContextLoaderListener會被調用,并調用contextDestroyed()方法來銷毀ApplicationContext實例。
總的來說,ContextLoaderListener負責在Servlet容器啟動時初始化Spring的根應用上下文,并在Servlet容器關閉時銷毀該上下文。這樣可以確保應用程序中的所有bean在整個應用程序生命周期內都是可用的。