SpringBoot自动化配置原理

spring自动化配置的原理可以简单理解为一个方法与以及个注解:
一个注解:这一个注解指的是启动类上 SpringBootApplication 注解,它是一个复合注解,内部有三个注解组成:

  1. SpringBootConfiguration,底层是一个Configuration,表示启动类也是一个配置类,可以在内部定义相关Bean
  2. ComponentScan,表示组件扫描,默认会扫描启动类包及子包下Spring能识别的组件,@ComponentScan注解是用来进行组件扫描的,扫描启动类所在的包及其子包下所有被@Component及其衍生注解声明的类。SpringBoot启动类,之所以具备扫描包功能,就是因为包含了@ComponentScan注解。
  3. EnableAutoConfiguration(自动配置核心注解),底层是一个Import注解,该注解中导入 AutoConfigurationImportSelector类,该类中有一个 selectImports 方法会被调用,该方法最终会去加载 META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports文件中的内容,并筛选满足starter和各种Condtional条件的全类名,封装成一个字符串数组加载到内存中
    一个方法:
    启动类会通过run方法去创建与初始化Spring容器,在初始化时会把上面注解加载到内存中的字符串数组对应的内容,创建成对象注入到Spring容器,至此就完成了自动化装配
posted @ 2025-07-21 00:34  K747  阅读(5)  评论(0)    收藏  举报