springMVC的web项目各种监听执行的顺序
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时就会调用此监听。
以上是个人工作中的一点总结,不一定全面,如果错误,欢迎指正。