具体解释可以看官网> https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html#spring-web
spring MVC 加载过程:
spring-web 的META-INFO/services 下面有个配置文件,在spring启动时会加载这个配置文件,
这个配置文件中记录了springMVC 需要加载的启动类,这个启动类其实就是一个servlet,通过这个类的onStartup来启动SpringMCV
onStartup的加载过程:
- 创建root webApplicationContext,这个类主要是管理中间层,services,Repositories
- 创建Servlet webApplicationContext 这个类主要是管理 controllers,ViewResolver(视图解析器),HandlerMapping
spring MVC 的执行过程:
- 首先经过DispatcherServlet,经过对的URL进行解析,然后根据该URI,调用HandlerMapping获得该Handler配置的所有相关的对象
- HandlerMapping调用处理器适配器HandlerAdapter去执行Handler
- Handler执行完给处理器适配器返回ModelAndView
- 通过视图解析器进行视图解析,向用户响应结果