SpringBoot自动配置原理

Posted Cooper_Xia

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot自动配置原理相关的知识,希望对你有一定的参考价值。

 

@SpringBootApplication

表示为springboot应用,其实就是一个配置类:
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(
excludeFilters = {@Filter(
type = FilterType.CUSTOM,
classes = {TypeExcludeFilter.class}
), @Filter(
type = FilterType.CUSTOM,
classes = {AutoConfigurationExcludeFilter.class}
)}
)
这个配置类的这三条注解完成配置:

  • SpringBootConfiguration代表是个配置类,可以对application中的注解中的配置加入spring容器
  • EnableAutoConfiguration 表示对application进行自动配置
  • ComponentScan相当于spring 的xml中的包扫描配置,扫描包中的注解

如何自动配置

springboot会加载并运行application,然后生成一个SpringApplication对象

这个过程中有一个推断应用类型的方法,推断出是servlet

 

 


然后调用初始化方法,初始方法创建一个spring工厂实例用来生成spring的application

 

 

spring工厂会按照传入的字节码类型去查找配置文件,进行自动配置

 

 

 

 

 

以上是关于SpringBoot自动配置原理的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot05:自动配置原理

SpringBoot自动配置原理

SpringBoot自动配置原理

SpringBoot-04-自动配置原理再理解

SpringBoot学习笔记——自动配置原理

springboot自动配置原理以及手动实现配置类