springboot2.x 源码笔记-SpringApplica

2019-06-10  本文已影响0人  Eshin_Ye
springboot的源码(spring)主要分为几个部分

1、构造SpringApplication,完成spring.factories文件中Initializers与Listeners的加载
2、加载配置文件,通过ConfigFileApplicationListener
3、加载BeanDefinitionRegistryPostProcessor与BeanFactoryPostProcessor完成bean的定义包装(非生成实例)
4、生成bean实例以及初始化

本文主要针对第一点,在启动类main方法中执行org.springframework.boot.SpringApplication#run(java.lang.Class<?>, java.lang.String...)后,SpringApplication对象的构造,主要是为了查看如何从spring.factories加载配置并实例化。

基于springboot2.1.4

项目地址:https://gitee.com/eshin/springbootdemo.git#autotest

org.springframework.boot.SpringApplication#run(java.lang.Class<?>[], java.lang.String[])-->org.springframework.boot.SpringApplication#SpringApplication(org.springframework.core.io.ResourceLoader, java.lang.Class<?>...) 1springApplication构造.jpg
  • 1、应用类型判断 微信图片_20190610165536.png
  • 2、spring.factories加载配置并实例化

    setInitializers与setListeners流程基本上差不多,主要都是通过org.springframework.boot.SpringApplication#getSpringFactoriesInstances(java.lang.Class<T>) 1springApplication构造2.jpg
上一篇 下一篇

猜你喜欢

热点阅读