主页 > 创业  > 

SpringBoot核心总结图

SpringBoot核心总结图
SpringBoot 启动流程

SpringBoot 的启动流程主要有以下几个核心步骤:

SpringBoot 生命周期

SpringBoot 生命周期的每个阶段都会发布相应的事件:

在 SpringBoot 3.0.0 前,ready 阶段是 running,现在 running 已被废弃。

如果 SpringBoot 生命周期的正常阶段发生异常,会进入失败阶段并发布 ApplicationFailedEvent 事件。

Bean 生产过程

Bean 的生产大致有 4 个核心步骤:

1、BeanDefinitionLoader 加载 XML 文件或注解中定义的内容; 2、BeanDefinitionLoader 将加载的内容转换成 BeanDefinition; 3、BeanDefinitionRegistry 将 BeanDefinition 注册到 BeanFactory 中; 4、BeanFactory 负责将 BeanDefinition 生成 Bean;

BeanDefinitionLoader

BeanDefinitionLoader 依靠以下几个类完成加载并解析 BeanDefinition:

1、 AnnotatedBeanDefinitionReader:负责解析注解; 2、 AbstractBeanDefinitionReader:负责解析 XML 文件; 3、BeanDefinitionReader:负责解析 Groovy 文件; 4、ClassPathBeanDefinitionScanner:扫描指定类路径;

Bean 生命周期

Bean 生命周期的 5 个阶段:

1、实例化阶段:实例化 Bean; 2、填充属性阶段(可能发生循环依赖):对 Bean 的实例化对象进行属性填充; 3、初始化阶段(核心操作):负责初始化 Bean,执行一些预定义的方法; 4、使用阶段:开发者使用; 5、销毁阶段:执行一些预定义的销毁方法;

Bean 与循环依赖

在 Spring 中,若创建 Bean 发生解决循环依赖会通过三级缓存解决。

1、singletonObjects(一级缓存):存放 完整 的 Bean 对象; 2、earlysingletonObjects(二级缓存):存放 Bean 的 早期(early)对象; 3、singletonFactories(三级缓存):存放 Bean 的 工厂(Factory)对象;

标签:

SpringBoot核心总结图由讯客互联创业栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“SpringBoot核心总结图