系列十三、SpringBoot的自动配置原理分析

一、概述

        我们知道Java发展到现在功能十分的强大,生态异常的丰富,这里面离开不了Spring及其家族产品的支持,而作为Spring生态的明星产品Spring Boot可以说像王者一般的存在,那么的耀眼,那么的光彩夺目!那么它凭什么这么强大呢? 这就不得不说到Spring Boot的自动配置原理了,可以这么说,Spring Boot之所以这么强大,就是因为有自动配置的加持它才这么强大的,那么它的自动配置原理是怎样的呢?请看下图分析:

二、原理

        1、SpringBoot有一个主启动类,主启动类上标注了@SpringBootApplication注解,而@SpringBootApplication又是一个复合注解,引入了@EnableAutoConfiguration注解(负责开启自动配置功能);

系列十三、SpringBoot的自动配置原理分析_第1张图片

        2、@EnableAutoConfiguration引入了@Import注解

系列十三、SpringBoot的自动配置原理分析_第2张图片

        3、Spring容器启动会加载IOC容器,加载IOC容器时会解析@Import注解;

        4、@Import注解导入了一个AutoConfigurationImportSelector(实现了延迟导入选择器,会使SpringBoot的自动配置类的加载顺序在最后,这样方便我们覆盖和扩展);

        5、读取所有/META-INF/spring.factories中的文件信息;

系列十三、SpringBoot的自动配置原理分析_第3张图片

系列十三、SpringBoot的自动配置原理分析_第4张图片

6、过滤出所有xxxAutoConfiguration类型的类

7、最后再通过@ConditionalOnXXX排除无效的自动配置类

你可能感兴趣的:(SpringBoot系列,java,spring,spring,boot)