springboot的启动流程图_springboot运行流程
大家好,又见面了,我是你们的朋友全栈君。
文章目录
前言
研究springboot启动的整个流程。
springboot启动流程图
![](https://ask.qcloudimg.com/http-save/yehe-8223537/15d8ae89f76a8f3f5790666362bf9000.jpg?imageView2/2/w/1620)
第一部分 new SpringApplication()
![](https://ask.qcloudimg.com/http-save/yehe-8223537/14bd0a0501e36679c901d82dc93e3e53.jpg?imageView2/2/w/1620)
![](https://ask.qcloudimg.com/http-save/yehe-8223537/d3f7f0e49a161690ccb24706c365d4d5.jpg?imageView2/2/w/1620)
第二部分 工厂对象构建实例
![](https://ask.qcloudimg.com/http-save/yehe-8223537/1804e577806b49cf6a987665c8ceb963.jpg?imageView2/2/w/1620)
![](https://ask.qcloudimg.com/http-save/yehe-8223537/3b613118f0279deb2c4f304be4871207.jpg?imageView2/2/w/1620)
第三部分 SpringApplication.run(启动此应用)
![](https://ask.qcloudimg.com/http-save/yehe-8223537/638cd248fa7fcefc8fbcf4a2550cf661.jpg?imageView2/2/w/1620)
![](https://ask.qcloudimg.com/http-save/yehe-8223537/e78b49d46377265d19088d17654b2e69.jpg?imageView2/2/w/1620)
![](https://ask.qcloudimg.com/http-save/yehe-8223537/1f101c3749a35e494bebdad65b891ad1.jpg?imageView2/2/w/1620)
第四部分 SpringApplicationRunListener
SpringApplicationRunListener监听器,监听的就是SpringApplication对象的整个流程。
![](https://ask.qcloudimg.com/http-save/yehe-8223537/789bb31619b6873714b883924ff974b7.jpg?imageView2/2/w/1620)
通过源码和图解对比,我们知道了其运行流程。 清楚知道4种监听器(ApplicationContextInitializer,SpringApplicationRunListener,CommandLineRunner,ApplicationRunner)的运行时机。
第五部分 banner彩蛋
知道banner的源码,我们可以自己改动输出的banner。
![](https://ask.qcloudimg.com/http-save/yehe-8223537/1e45ad0963193414d77b31536da3c863.jpg?imageView2/2/w/1620)
![](https://ask.qcloudimg.com/http-save/yehe-8223537/7e1a11922b12658c83efd56eb9c2717a.jpg?imageView2/2/w/1620)
通过配置banner,我们切换了banner的输出。
#指定图片banner(显示不好,智能打印黑白)
spring.banner.image.location=panda.png
#指定文本banner
spring.banner.location=mybanner.txt
![](https://ask.qcloudimg.com/http-save/yehe-8223537/4307f68b764b33c674a5dcde5a6fa117.jpg?imageView2/2/w/1620)
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/171552.html原文链接:https://javaforall.cn