SpringBoot的加载机制是怎样的?

1 个回答

  • 王雨儿
    让心中无事,让细水长流。
    ## 作用 Spring Boot 的加载机制用于在应用启动时自动完成配置加载、组件扫描、Bean 注册与初始化、内嵌容器启动等工作,从而简化 Spring 应用的搭建和运行。 ## 原理 - **自动装配(Auto-Configuration)** - Spring Boot 启动时会扫描 classpath 下的 `META-INF/spring.factories` 文件。 - 加载其中 `org.springframework.boot.autoconfigure.EnableAutoConfiguration` 类型的配置类。 - 再结合类路径中的依赖和条件化注解,判断并注册满足条件的 Bean,完成自动配置。 - **启动类与组合注解** - 启动类通常使用 `@SpringBootApplication` 标注。 - 该注解主要组合了: - `@SpringBootConfiguration` - `@EnableAutoConfiguration` - `@ComponentScan` - 因此启动类既承担配置类作用,也指定了组件扫描的基础包,并开启自动装配。 - **外部化配置加载** - Spring Boot 支持从多个位置加载配置,例如: - `application.properties` - `application.yml` - 环境变量 - 命令行参数 - 这些配置属性可以影响 Bean 的创建和自动配置行为。 - **内嵌容器加载** - Spring Boot 默认集成内嵌 Servlet 容器,如 Tomcat、Jetty。 - 应用可以打包成可执行 JAR,直接启动,无需部署到外部容器。 - 具体使用哪个容器由 Maven 或 Gradle 中的依赖决定。 - **整体启动过程** - 应用启动后,Spring Boot 会依据启动类创建 Spring 容器。 - 随后进行组件扫描、自动配置类匹配、Bean 的实例化与初始化、处理器注册等操作。 - 最后启动内嵌 Web 容器,使应用可以对外提供服务。
    发布于 2026-10-25 20:10 •IP属地 山东
    举报
    评论
    收藏