ChihiroBlog

SpringBoot自动化配置原理

  • 原理核心在启动类上的@SpringBootApplication注解。
    其中包含以下三个主要注解:

  1. @ComponentScan

    作用:扫描启动类所在的包及其子包中的bean放入容器。

  2. @SpringBootConfiguration


    作用:该注解表示启动类是一个配置类。

  3. @EnableAutoConfiguration

    @EnableAutoConfiguration注解中包含@Import,@Import会将ImportSelector的实现类AutoConfigurationImportSelector中的selectImports方法返回的数组中对应的类封装的bean加载到IOC容器中。

    其中数组内容的来源为getAutoConfigurationEntry方法的返回值

    getAutoConfigurationEntry返回对象的主要内容为通过getCandidateConfigurations方法得到的configurations集合,其中getCandidateConfigurations方法

    会到以下两个文件中查询需要自动配置的类

    接着去起步依赖中查找这两个文件

    其中Imports为新版本自动配置文件,factories为老版本文件,两个都有是为了兼容老版本

    打开其中一个自动配置类

    发现自动配置类中的类上添加了@AutoConfiguration,方法上添加了@Bean注解,这样这些方法的返回值就被加载到了IOC容器中,从而实现了SpringBoot的自动配置。

posted on 2025-02-18 21:02  Chihirooo  阅读(18)  评论(0)    收藏  举报

导航