springboot的自动配置原理

1.通过@SpringBootConfiguration 引入了@EnableAutoConfiguration(负责启动自动配置功能)

2.@EnableAutoConfiguration 引入了@import

3.Spring容器启动时:加我loc容器时会解析@import 注解

4.@import导入了一个deferredimprotSelector(它会使SpringBoot的自动配置类的顺序在最后,这样方便我们扩展和覆盖)

5.然后读取所有的/META-INF/spring.factories文件(SPI)

6.过滤出所有AutoConfigurtionClas类型的类

7.最后通过@ConditionOnXXx排除无效的自动配置类

相关推荐
做个文艺程序员2 分钟前
第02篇:搭建 ES 集群 + Spring Boot 整合实战——从 Docker Compose 到 Java 客户端全覆盖
java·spring boot·elasticsearch
Jinkxs3 分钟前
LoadBalancer- 简单限流策略:Nginx 基于连接 / 请求的限流实现
java·运维·nginx
fenglllle11 分钟前
JDK8升级JDK17使用CompletableFuture在线程中classloader的变化
java·开发语言·jvm
计算机安禾11 分钟前
【c++面向对象编程】第44篇:typename与class的区别,依赖类型名与template消除歧义
java·jvm·c++
无风听海15 分钟前
ASP.NET Core Minimal API 深度解析
后端·asp.net
JAVA面经实录91720 分钟前
Java+SpringAI企业级实战项目完整官方文档(生产终版)
java·开发语言·spring·ai编程
梵得儿SHI20 分钟前
Java IO 流进阶:Buffer 与 Channel 核心概念解析及与传统 IO 的本质区别
java·开发语言·高并发·nio·channel·buffer·提升io效率
斯特凡今天也很帅23 分钟前
Spring Boot+mybatis项目切换sql为传参成无参
spring boot·sql·mybatis
IT_陈寒25 分钟前
Java的finally块竟然不是你想的那个finally!
前端·人工智能·后端
2301_7890156225 分钟前
C++_string增删查改模拟实现
java·开发语言·c++