理解SpringBoot自动配置实现

栏目: Java · 发布时间: 8年前

内容简介:理解SpringBoot自动配置实现

Spring Boot的主程序是一个标注了@SpringBootApplication的类,用了main方法执行了SpringApplication的run方法,这个简单的主程序将加载应用的所有的配置和资源,并且启动了一个实例。

主程序的运行过程

方法run按顺序做了以下几件事:

  1. 开启一个SpringApplicationRunListeners监听器
  2. 创建一个应用上下文ConfigurableApplicationContext
  3. 通过上下文加载应用所需的所有的配置和各种环境配置
  4. 启动一个实例

createApplicationContext方法创建了一个上下文;prepareContext方法装载上下文,它调用的load方法将调用BeanDefinitionLoader的load方法来装载应用定义的和需要的类以及各种资源;refreshContext方法调用了ApplicationContext的refresh方法重新加载了上下文;然后在afterRefresh方法中启动实例;

自动配置原理

程序的所有自动配置都是从@SpringBootApplication引入的,它主要包含了3个非常非常主要的注解,@SpringBootConfiguration、@EnableAutoConfiguration和@ComponentScan。@EnableAutoConfiguration用来启动自动配置,并将导入一些自动配置的类定义;@ComponentScan将扫描和加载应用中的一些自定义的类;@SpringBootConfiguration表明一个这个类提供了Spring配置;

在@EnableAutoConfiguration类中引用了SpringFactoriesLoader,而SpringFactoriesLoader会查询META-INF/spring.factories文件中包含的JAR文件,当找到spring.factories文件后,SpringFactoriesLoader将查询配置文件命名的属性,然后进行逐个自动配置(那个文件里面各个都是配置类)。在装载一个类的配置时,首先读取项目中的配置,只有在项目中没有相关配置的时候才启用配置的默认值。


以上所述就是小编给大家介绍的《理解SpringBoot自动配置实现》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

图解网站分析(修订版)

图解网站分析(修订版)

[日] 小川卓 / 沈麟芸 / 人民邮电出版社 / 2014-10 / 69.00元

本书以图配文,结合实例详细讲解了如何利用从网站上获取的各种数据了解网站的运营状况,如何从数据中攫取最有用的信息,如何优化站点,创造更大的网站价值。本书适合各类网站运营人员阅读。 第1 部分介绍了进行网站分析必备的基础知识。第2 部分详细讲解了如何明确网站现状,发现并改善网站的问题。第3 部分是关于流量获取和网站内渠道优化的问题。第4 部分介绍了一些更加先进的网站分析方法,其中详细讲解了如何分......一起来看看 《图解网站分析(修订版)》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具