1、web項目啟動時首先加載web的ServletContext,此時會執行ServletContextListener監聽。實現ServletContextListener接口。
2、加載配置的filter,調用filter的init()進行過濾器的初始化。初始化的順序按照@order()指定的順序。
3、初始化定義的servlet,DispatchServlet也屬於其中的一個servlet,springmvc的相關類初始化在此時進行。InitiallizingBean在Simpleconsumner屬性注入完成之后執行。
4、BeanFactoryPostProcessor監聽在所有bean進行初始化之前執行
5、在spring容器初始化完所有的bean之后,執行ApplicationContextListener監聽,在此可以進行系統緩存的初始化工作,如將系統常數進行緩存,此時jdbcTemplate已經初始化完成。
6、ApplicationRunner在ApplicationContextListener監聽后執行,初始化工作也可在此監聽接口中進行。
5、BeanPostProcessor監聽針對每一個Bean的監聽接口,包含兩個方法,一個為初始化之前,一個為初始化之后,只要是spring容器初始化bean時就會調用此監聽。
以上是個人工作中的一點總結,不一定全面,如果錯誤,歡迎指正。