理解SpringBoot自动配置实现

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

内容简介:理解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-6-1 / 55元

随着中国互联网金融浪潮高涨,P2P、众筹、余额宝、微信支付等新生事物层出不穷,加之大数据等时髦概念助阵,简直是乱花渐欲迷人眼,令媒体兴奋,公众狂热。那么,互联网金融真的能“颠覆”传统金融吗?当互联网思维对撞传统金融观念,是互联网金融的一统天下,还是传统金融业的自我革新?究竟是谁动了金融业的奶酪? 本书作者早期试水创立具有互联网金融雏形的网站,后来成为互联网金融的资深投资人,基于其多年在该领域......一起来看看 《风吹江南之互联网金融》 这本书的介绍吧!

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

在线压缩/解压 CSS 代码

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

在线XML、JSON转换工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换