linux怎么查看本机内存大小
280
2022-09-24
22-SpringBoot流程分析-run
22-SpringBoot流程分析-run
SpringBoot流程分析-run
启动计时器执行监听器准备环境打印banner:可以resource下粘贴自定义的banner创建context
refreshContext(context);
执行refreshContext方法后才真正创建Bean
1571373793325
源码解读
我们继续着上一篇的 debug 状态继续执行,如下:
1.完成了初始化动态,启动此应用
点进去 run 方法中,如下:
并设置断点,跳过去:
2.初始化IOC容器,以及启动应用监听器
3.开始环境模块准备
还会创建了不少环境准备的信息。
4.打印Banner信息
image-20220227172317638
可以看到这里打印了 Banner 信息。我们可以进去看看这个 printBanner的方法,如下:
继续进去看这个 SpringApplicationBannerPrinter 方法,如下:
在 SpringApplicationBannerPrinter 类里面,我们知道默认会加载 banner.txt 进行打印,所以我们可以尝试来替换一下。
5.将断点设置在打印Banner处,去除其他断点
好了,设置好断点之后,我们就可以修改设置一个 banner.txt 进行文件替换,然后再重新debug 进来看看效果。
6.设置 banner.txt ,替换打印的信息
_ooOoo_ o8888888o 88" . "88 (| -_- |) O\ = /O ____/`---'\____ . ' \\| |// `. / \\||| : |||// \ / _||||| -:- |||||- \ | | \\\ - /// | | | \_| ''\---/'' | | \ .-\__ `-` ___/-. / ___`. .' /--.--\ `. . __ ."" '< `.___\_<|>_/___.' >'"". | | : `- \`.;`\ _ /`;.`/ - ` : | | \ \ `-. \_ __\ /__ _/ .-` / / ======`-.____`-.___\_____/___.-`____.-'====== `=---=' ............................................. 佛祖保佑 永无BUG
再次debug启动服务,可以查看打印信息如下:
注意:如果没有,那么则执行 maven clean 后,再执行。
7.创建应用上下文
我们可以查看一下变量,如下:
当执行了 refreshContext(context); 之后,IOC容器里面就创建了所有需要的 Bean
8.统计启动加载时长,以及回调监听器的启动完毕方法
9.监听器准备完毕,返回IOC容器
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~