DispatcherServlet的onRefresh方法何时被调用?
DispatcherServlet extends FrameworkServlet
FrameworkServlet extends HttpServletBean
HttpServletBean extends HttpServlet
HttpServlet Bean在它调用的方法中覆盖了GenericServlet的init((方法,该方法被FrameworkServlet 覆盖
在FrameworkServlet的initServlet Bean((方法中,它调用initWebApplicationContext((方法
- 在该方法中,它检查webApplicationContext是否是ConfigurationWebApplicationContext的实例
- 如果是,则调用configureAndRefreshWebApplicationContext((方法
- 因为它在webApplicationContext上调用刷新方法
- 请参阅AbstractApplicationContext中refresh((方法的实现,最后它调用finishRefresh(
- 在该方法中,它发布ContextRefreshedEvent
- 在FrameworkServlet中有一个实现ApplicationListener的私有类ContextRefreshListener
- 该类的onApplicationEvent((方法调用FrameworkServlet的onApplicationEvents((方法
- 在该方法中,它调用由DispatcherServlet重写的onRefresh方法