调用@SpringBootApplication启动run方法,启动Tomcat容器,自动配置各种bean,启动DispatcherServlet和ViewResolver,初始化控制器@Controller和映射注解@RequestMapping,处理完请求会将modelAndView给ViewResolver视图渲染,最后通过Tomcat容器返回给客户端。
-
引导类初始化: 在 Spring Boot 应用程序的入口类(通常是带有
@SpringBootApplication
注解的类)中,会调用SpringApplication.run()
方法来启动应用程序。 -
自动配置: Spring Boot 会根据应用程序的依赖项自动配置 Web 环境所需的各种 Bean,包括 Tomcat、DispatcherServlet、ViewResolver 等。这些 Bean 负责处理 Web 请求和响应。
-
Servlet 容器启动: Spring Boot 内置了 Tomcat 作为默认的 Servlet 容器,它会在引导类初始化时自动启动。
-
DispatcherServlet 初始化: Spring MVC 的核心类
DispatcherServlet
会被自动注册并初始化,它负责接收和分发 Web 请求。 -
控制器初始化: Spring Boot 会扫描并初始化应用程序中定义的 Web 控制器类(带有
@Controller
或@RestController
注解的类)。 -
请求映射: DispatcherServlet 会根据控制器类和方法上的 URL 映射注解(@RequestMapping、@GetMapping 等)来处理 Web 请求。
-
视图渲染: 如果控制器返回的是一个逻辑视图名,DispatcherServlet 会使用配置好的 ViewResolver 来解析并渲染该视图。
-
响应输出: 最终,处理完请求后的响应数据会通过 Tomcat 容器返回给客户端。
整个 Web 应用程序的启动过程中,Spring Boot 会自动完成大部分配置和初始化工作,开发人员只需要编写业务逻辑代码即可。这极大地简化了 Web 应用程序的开发和部署。