1
0
mirror of https://github.com/Snailclimb/JavaGuide synced 2025-06-16 18:10:13 +08:00

Update spring-boot-auto-assembly-principles.md

附加关于 Spring Boot 3.0关于自动配置的 SPI 文件路径
This commit is contained in:
lequal 2024-03-10 22:22:37 +08:00 committed by GitHub
parent f7060dd3df
commit ea007df34b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -81,6 +81,7 @@ public class DemoApplication {
我们现在提到自动装配的时候,一般会和 Spring Boot 联系在一起。但是,实际上 Spring Framework 早就实现了这个功能。Spring Boot 只是在其基础上,通过 SPI 的方式,做了进一步优化。
> SpringBoot 定义了一套接口规范这套规范规定SpringBoot 在启动时会扫描外部引用 jar 包中的`META-INF/spring.factories`文件,将文件中配置的类型信息加载到 Spring 容器(此处涉及到 JVM 类加载机制与 Spring 的容器知识),并执行类中定义的各种操作。对于外部 jar 来说,只需要按照 SpringBoot 定义的标准,就能将自己的功能装置进 SpringBoot。
> 自 Spring Boot 3.0 开始,自动配置包的路径从`META-INF/spring.factories` 修改为 `META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports`
没有 Spring Boot 的情况下如果我们需要引入第三方依赖需要手动配置非常麻烦。但是Spring Boot 中,我们直接引入一个 starter 即可。比如你想要在项目中使用 redis 的话,直接在项目中引入对应的 starter 即可。