启动计时器
执行监听器
准备环境
打印banner:可以resource下粘贴自定义的banner
创建context
refreshContext(context);
执行refreshContext方法后才真正创建Bean
1571373793325
我们继续着上一篇的 debug 状态继续执行,如下:
点进去 run 方法中,如下:
并设置断点,跳过去:
还会创建了不少环境准备的信息。
image-20220227172317638
可以看到这里打印了 Banner 信息。我们可以进去看看这个 printBanner的方法,如下:
继续进去看这个 SpringApplicationBannerPrinter 方法,如下:
在 SpringApplicationBannerPrinter 类里面,我们知道默认会加载 banner.txt 进行打印,所以我们可以尝试来替换一下。
好了,设置好断点之后,我们就可以修改设置一个 banner.txt 进行文件替换,然后再重新debug 进来看看效果。
_ooOoo_
o8888888o
88" . "88
(| -_- |)
O\ = /O
____/`---'\____
. ' \\| |// `.
/ \\||| : |||// \
/ _||||| -:- |||||- \
| | \\\ - /// | |
| \_| ''\---/'' | |
\ .-\__ `-` ___/-. /
___`. .' /--.--\ `. . __
."" '< `.___\_<|>_/___.' >'"".
| | : `- \`.;`\ _ /`;.`/ - ` : | |
\ \ `-. \_ __\ /__ _/ .-` / /
======`-.____`-.___\_____/___.-`____.-'======
`=---='
.............................................
佛祖保佑 永无BUG
再次debug启动服务,可以查看打印信息如下:
注意:如果没有,那么则执行 maven clean 后,再执行。
我们可以查看一下变量,如下:
当执行了 refreshContext(context); 之后,IOC容器里面就创建了所有需要的 Bean