Spring Boot 启动的详细流程如下:
-
加载配置文件:
Spring Boot 会从 classpath 中加载 application.properties 或 application.yml 文件,并将文件中的配置项读取到内存中。 -
创建 Spring 容器:
Spring Boot 会在内存中创建一个 Spring 应用上下文(ApplicationContext),并根据配置文件中的配置项加载 Bean。 -
执行自动配置:
Spring Boot 会根据 classpath 中的 jar 包、类、注解等信息,分析出需要的 Bean,并在容器中自动配置。 -
配置 Tomcat、Jetty 等 Web 服务器:
如果应用是 Web 应用,Spring Boot 会根据配置文件中的配置项,自动配置内嵌的 Tomcat、Jetty 等 Web 服务器。 -
注册 Servlet、Filter、Listener 等组件:
Spring Boot 会根据配置文件中的配置项,注册相应的 Servlet、Filter、Listener 等组件。 -
加载启动类:
Spring Boot 会加载应用的启动类,即包含 main 方法的类。 -
执行回调方法:
Spring Boot 会在容器启动完成后,回调一些方法,开发者可以在这些回调方法中做一些额外的初始化工作。 -
启动 Web 服务器:
如果应用是 Web 应用,Spring Boot 会启动内嵌的 Tomcat、Jetty 等 Web 服务器,将应用部署到 Web 服务器上。 -
应用启动完成:
至此,Spring Boot 应用启动完成,可以接收外部请求并处理业务逻辑。