22-SpringBoot流程分析-run

网友投稿 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小时内删除侵权内容。

上一篇:从天才童星到自己跑组找戏拍,曹骏:小看我的人会被打脸!
下一篇:64. Vue中的插槽slot
相关文章

 发表评论

暂时没有评论,来抢沙发吧~