02--SpringBoot自动装配原理

1、自动配置类读取原理

@SpringBootApplication应用标注在某个类上,说明这个类是SpringBoot的主配置类,SpringBoot的项目需要运行这个类的main方法来启动SpringBoot应用的服务;

1.1 源码分析

java 复制代码
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(excludeFilters = {
 @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
 @Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
public @interface SpringBootApplication {}
  • @SpringBootConfiguration:用于标识这个类是SpringBoot的配置类;
  • @EnableAutoConfiguration:开启自动配置的功能,会自动扫描所有自动配置类,扫描到且满足条件才会生效。
  • @ComponentScan:包扫描;
    • TypeExcludeFilter:SpringBoot对外提供的扩展类, 可以去按照我们的方式进行排除
    • AutoConfigurationExcludeFilter:排除所有配置类并且是自动配置类
java 复制代码
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@AutoConfigurationPackage
@Import(AutoConfigurationImportSelector.class)
public @interface EnableAutoConfiguration {}
  • @AutoConfigurationPackage:将当前配置类所在包保存在BasePackages的Bean中。供Spring内部使用。
  • 自动装配流程图

后续深入更新...

相关推荐
云烟成雨TD2 分钟前
Spring AI 1.x 系列【42】MCP 服务端 Spring Boot 启动器
java·人工智能·spring
云烟成雨TD7 分钟前
Spring AI 1.x 系列【38】模型上下文协议(MCP)
java·人工智能·spring
Alson_Code9 分钟前
Spring AI-1.1.0
java·人工智能·后端·spring·ai编程
小小放舟、10 分钟前
@JsonCreator 注解详解——从枚举反序列化说起
spring boot·spring·spring cloud·java-ee·maven·intellij-idea·状态模式
ANnianStriver10 分钟前
PetLumina 08 — 通知系统与搜索功能修复(广播机制 + 已读状态 + 参数对齐)
java·ai·ai编程·广播机制
ggaofeng12 分钟前
试用zeroclaw
java·开发语言
就叫_这个吧16 分钟前
servlet整合tomcat项目启动报错解决,org.apache.tomcat.util.descriptor.web.WebXml.setVersion
java·servlet·tomcat·apache
Wenzar_17 分钟前
用 JAX 构建可微分光子神经网络仿真器
java·人工智能·深度学习·神经网络
cfm_291434 分钟前
RocksDB 初步了解
java
凡人叶枫41 分钟前
Effective C++ 条款02:宁可以编译器替换预处理器
java·linux·c语言·开发语言·c++