理解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自动配置实现》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

概率编程实战

概率编程实战

[美]艾维·费弗 (Avi Pfeffer) / 姚军 / 人民邮电出版社 / 2017-4 / 89

概率推理是不确定性条件下做出决策的重要方法,在许多领域都已经得到了广泛的应用。概率编程充分结合了概率推理模型和现代计算机编程语言,使这一方法的实施更加简便,现已在许多领域(包括炙手可热的机器学习)中崭露头角,各种概率编程系统也如雨后春笋般出现。本书的作者Avi Pfeffer正是主流概率编程系统Figaro的首席开发者,他以详尽的实例、清晰易懂的解说引领读者进入这一过去令人望而生畏的领域。通读本书......一起来看看 《概率编程实战》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

SHA 加密
SHA 加密

SHA 加密工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具