没有合适的资源?快使用搜索试试~ 我知道了~
可能是全网最全的SpringBoot启动流程源码分析(基于 2.1.5 版本)
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉

温馨提示
使用 Spring Boot 启动一个微服务十分简单,只需要在启动类上调用 SpringApplication 的run方法即可 点击进入run方法 1 run 静态辅助类,可用于运行使用默认配置(即我们添加的一系列注解)的指定源的 SpringApplication 。 primarySource – 要载入的主要源,即指定源,这里为传入的Application.class Class :泛型决定了任何类都可以传入 args – 应用程序参数(通常是从main方法传递) 返回:正在运行的ApplicationContext 上面是 SpringApplication实例对象构造方法初始化
资源推荐
资源详情
资源评论




























可能是全网最全的可能是全网最全的SpringBoot启动流程源码分析(基于启动流程源码分析(基于 2.1.5 版本)版本)
使用 Spring Boot 启动一个微服务十分简单,只需要在启动类上调用 SpringApplication 的run方法即可
点击进入run方法
1 run
静态辅助类,可用于运行使用默认配置(即我们添加的一系列注解)的指定源的 SpringApplication 。
primarySource – 要载入的主要源,即指定源,这里为传入的Application.class
Class :泛型决定了任何类都可以传入
args – 应用程序参数(通常是从main方法传递)
返回:正在运行的ApplicationContext
上面是 SpringApplication实例对象构造方法初始化过程
继续看这个 SpringApplication 对象的 run 方法的源码和运行流程
public ConfigurableApplicationContext run(String... args) {
// 1 创建并启动计时监控类
StopWatch stopWatch = new StopWatch();
stopWatch.start();
// 2 初始化应用上下文和异常报告集合
ConfigurableApplicationContext context = null;
Collection exceptionReporters = new ArrayList();
// 3 设置系统属性 java.awt.headless 的值,默认为true
configureHeadlessProperty();
// 4、创建所有 Spring 运行监听器并发布应用启动事件
SpringApplicationRunListeners listeners = getRunListeners(args);
listeners.starting();
try { // 5、初始化默认应用参数类
ApplicationArguments applicationArguments = new DefaultApplicationArguments(
args);
// 6、根据运行监听器和应用参数来准备 Spring 环境
ConfigurableEnvironment environment = prepareEnvironment(listeners,
applicationArguments);
configureIgnoreBeanInfo(environment);
// 7、创建 Banner 打印类
Banner printedBanner = printBanner(environment);
// 8、创建应用上下文
context = createApplicationContext();
// 9、准备异常报告器
exceptionReporters = getSpringFactoriesInstances(
SpringBootExceptionReporter.class, new Class[] { ConfigurableApplicationContext.class }, context);
// 10、准备应用上下文
prepareContext(context, environment, listeners, applicationArguments,
printedBanner);
// 11、刷新应用上下文
refreshContext(context);
// 12、应用上下文刷新后置处理
afterRefresh(context, applicationArguments);
// 13、停止计时监控类
stopWatch.stop();
// 14、输出日志记录执行主类名、时间信息
if (this.logStartupInfo) { new StartupInfoLogger(this.mainApplicationClass)

weixin_38590738
- 粉丝: 8
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 电力系统中基于扩展卡尔曼观测器的无模型预测电流控制仿真分析
- 直驱永磁同步发电机结合超级电容与蓄电池储能的并网控制MATLABSimulink建模及策略分析 直驱永磁同步发电机
- (源码)基于React框架的入门项目.zip
- 机械工程领域基于MATLAB的小波时频图与卷积神经网络在西储大学滚动轴承故障诊断的应用
- (源码)基于C语言AVR单片机的实时天气站控制器.zip
- COMSOL仿真解析:激光烧蚀靶材中的流体传热、水平集与层流研究 详细版
- 基于NARX模型的多变量时间序列预测及其Matlab实现 - 非线性自回归 全面版
- (源码)基于ESP32CAM的物联网人脸识别智能门锁.zip
- 基于MatlabSimulink的MPC模型预测控制车队控制队列系统(3车队列控制+多车扩展)
- (源码)基于LoRa通信协议的Digipeater项目.zip
- Matlab中基于IMM与UKFEKF的三维路径跟踪预测仿真研究
- MATLAB编程专家:代改车辆参数与能源管理策略模型,优化仿真图像,动态控制技术提升汽车性能
- (源码)基于React Native和Dva框架的移动应用模板.zip
- 机器人技术领域中全局路径规划与DWA算法融合实现动态避障的应用研究
- (源码)基于Arduino和Alexa的智能家居自动化系统.zip
- 磁链控制优化新突破:全阶磁链观测器FFO-FOC异步电机无感矢量控制
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制

- 1
- 2
- 3
前往页