Spring mvc DispatcherServlet的onRefresh方法何时调用?

Spring mvc DispatcherServlet的onRefresh方法何时调用?,spring-mvc,servlets,Spring Mvc,Servlets,DispatcherServlet的onRefresh方法何时调用 DispatcherServlet extends FrameworkServlet FrameworkServlet extends HttpServletBean HttpServletBean extends HttpServlet HttpServletBean重写GenericServlet的init()方法,在该方法中它调用initServletBean()方法,该方法由FrameworkServlet重写 在F

DispatcherServlet的onRefresh方法何时调用

DispatcherServlet extends FrameworkServlet
FrameworkServlet extends HttpServletBean
HttpServletBean extends HttpServlet
  • HttpServletBean重写GenericServlet的init()方法,在该方法中它调用initServletBean()方法,该方法由FrameworkServlet重写

  • 在FrameworkServlet的initServletBean()方法中,它调用initWebApplicationContext()方法

  • 在该方法中,它检查webApplicationContext是否为ConfigurableWebApplicationContext的实例
  • 如果是,则调用configureAndRefreshWebApplicationContext()方法
  • 因为它调用webApplicationContext上的刷新方法
  • 最后在AbstractApplicationContext中看到refresh()方法的实现,它调用finishRefresh()方法
  • 在该方法中,它发布ContextRefreshedEvent
  • 在FrameworkServlet中,有一个私有类ContextRefreshListener,它实现ApplicationListener
  • 此类上的onApplicationEvent()方法调用FrameworkServlet的onApplicationEvent()方法
  • 在该方法中,它调用由DispatcherServlet覆盖的onRefresh方法
这可能会有帮助: