【框架篇08】SpringBoot框架-自动配置原理

64 阅读1分钟

SpringBoot框架核心的思想:自动配置原理

image.png

@SpringBootApplication注解

image.png

  • @SpringBootConfiguration:该注解与@Configuration注解作用相当,也是声明当前类为一个配置类
  • @ComponentScan:组件扫描,默认扫描当前引导类所在包以及子包
  • @EnableAutoConfiguration:SpringBoot实现自动化配置的核心注解

image.png

AotoConfigurationImportSelector.class(作用:加载spring.factories文件)

image.png

文件中内容

image.png

例子:

image.png

SpringBoot自动配置原理?

  1. 在springboot项目中的引导类上有一个注解@SpringBootApplication,这个注解对三个注解进行了封装(@springBootConfiguration、@EnableAutoConifguration、@ComponentScan)
  2. 其中@EnableAutoConfiguration是实现自动化配置的核心注解,该注解通过@Import注解导入对于的配置选择器,内部就是读取该项目金额该项目引用的jar的classpath路径下META-INF/Spring.factories文件中的配置的类的全类名。在这些配置类中定义了Bean会根据条件注解所指定的条件来决定是否需要将其导入到Spring容器中。
  3. 条件注解会有像@ConditionOnClass这样的注解,判断是否有对于的class文件,如果有该类,就将配置类中的bean放入到spring容器中。