码迷,mamicode.com
首页 > 编程语言 > 详细

SpringBoot自动配置原理

时间:2020-05-23 00:11:00      阅读:133      评论:0      收藏:0      [点我收藏+]

标签: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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!