当前位置: 首页 > news >正文

面试题-SpringCloud的启动流程

在这里插入图片描述

关键词

  • prepareEnvironment
  • BootstrapApplicationListener
  • BootStrap Context(启动应用上下文)
  • Environment中bootstrap属性

面试回答

  1. 引入SpringCloud相关组件后,均会引入一个spring-cloud-context的依赖包,这个项目的META-INF/spring.factories中会引入一个监听器(BootstrapApplicationListener)
  2. SpringBoot主应用上下文启动流程中,会有一个prepareEnvironment阶段,该阶段完成后,会发布事件触发BootstrapApplicationListener监听逻辑
  3. BootstrapApplicationListener会触发一个新的SpringBoot应用上下文(即Bootstrap Context)的启动流程
  4. 最终,Bootstrap Context将会作为SpringBoot主应用上下文父应用上下文

BootstrapApplicationListener发起Bootstrap Context启动流程之前,会向Environment中放置一个bootstrap属性。所以当Bootstrap Context在走SpringBoot启动流程时**,虽然也会走到prepareEnvironment阶段并触发BootstrapApplicationListener的监听逻辑,但是此时BootstrapApplicationListener由于判断到Environment中存在bootstrap属性,**就会跳过剩余逻辑。

http://www.lryc.cn/news/532301.html

相关文章:

  • MySQL基础知识
  • nas-群晖docker查询注册表失败解决办法(平替:使用SSH命令拉取ddns-go)
  • GSMA SGP.31 eSIM IoT 架构与需求笔记
  • sql版本序列号
  • vue2-nextTick
  • 【其他专题】如何在线将PNG转ICO图标
  • 2019_AutoInt
  • HAL库 Systick定时器 基于STM32F103EZT6 野火霸道,可做参考
  • 使用 Postman 进行 API 测试:从入门到精通
  • K8s 分布式存储后端(K8s Distributed Storage Backend)
  • 基于docker搭建Kafka集群,使用KRaft方式搭建,摒弃Zookeeper
  • Centos7 安装 RabbitMQ与Erlang
  • mybatis-plus的分页查询简单使用
  • 剑指 Offer II 014. 字符串中的变位词
  • 富唯智能复合机器人拓展工业新维度
  • 【大数据技术】搭建完全分布式高可用大数据集群(Scala+Spark)
  • solidity高阶 -- 调用接口合约
  • 若依框架使用(低级)
  • 找不到 MSVCP120.dll
  • AI软件栈:LLVM分析(三)
  • openwebui入门
  • Spark--如何理解RDD
  • CTFSHOW-WEB入门-PHP特性89-100
  • [250204] Mistral Small 3:小巧、快速、强大 | asdf 0.16.0 发布:Golang 重写带来性能飞跃
  • PySpark学习笔记5-SparkSQL
  • windows版的docker如何使用宿主机的GPU
  • Python爬虫:1药城店铺爬虫(完整代码)
  • 代码随想录算法训练营打卡第55天:并查集相关问题;
  • K8S学习笔记-------1.安装部署K8S集群环境
  • 云原生周刊:K8s引领潮流