Spring Boot 的 SPI (Service Provider Interface) 机制 是其核心运行原理之一,也是 Spring Boot 实现“自动装配”(Auto Configuration)和“开箱即用”特性的基石。 简单来说,它是 Spring 框架提供的一种服务发现机制,允许框架在运行时动态地加载和执行第三方模块或自定义的组件,而无需在主程序中显式地硬编码。 以下从原理、核心组件、与 Java SPI 的区别以及演进过程四个方面详细解释: --- 1. 核心原理与作用 Spring Boot 的 SPI 机制主要用于模块化开发和插件化扩展。 解耦: 接口定义在核心包中,实现类定义在各个 jar 包中。主程序不需要知道具体的实现类是谁,只需要按照约定去加载即可。 自动装配: Spring Boot 启动时,会扫描所有引入的 Jar 包,寻找特定的配置文件,根据文件中的配置将相关的类加载到 Spring 容器(IOC)中。这就是为什么你引入 就能直接用 Tomcat 和 Spring MVC 的原因。 2. 核心组件与实现方式 Spring Boot SPI 的...