SpringBoot自动配置原理

2021-01-14 21:13

阅读:469

标签:spring容器   enable   servlet   data   spring   创建   component   com   表示   

 

@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自动配置原理

标签:spring容器   enable   servlet   data   spring   创建   component   com   表示   

原文地址:https://www.cnblogs.com/CooperXia-847550730/p/12940480.html


评论


亲,登录后才可以留言!