创建完DispatcherServlet对象时,会执行类中的init方法
如果不配置 load-on-startup,那么 DispatcherServlet 将在第一次收到请求时才会被实例化和初始化。这意味着 DispatcherServlet 不会在服务器启动时立即执行创建和初始化的操作。
当第一个请求到达时,Servlet 容器(如 Tomcat)将会实例化 DispatcherServlet 并调用其 init() 方法进行初始化。在初始化过程中,DispatcherServlet 将读取并解析其配置文件(如 web.xml 或者 Spring Boot 中的配置类),加载 Spring 应用程序上下文(ApplicationContext),并进行一系列的初始化操作,如 Handler Mapping 的注册、Handler Adapter 的初始化等。
相比于配置了 load-on-startup,不配置时延迟了 DispatcherServlet 的初始化时间,只有在真正有请求到达时才会进行初始化。这种方式适用于一些需要延迟初始化的场景,或者在启动时需要避免资源占用过多的情况下使用。
DispatcherServlet的初始化主要做了两件事:
1. 获得一个SpringMVC的ApplicationContext容器
2. 向SpringMVC容器中注册九大组件
标签:load,容器,初始化,SpringMVC,Spring,DispatcherServlet From: https://www.cnblogs.com/gagaya2/p/18180628