项目使用SpringBoot框架,启动时控制台输出一串由特殊字符拼接成的单词如下图所示。SpringBoot底层如何实现?
![](https://img.haomeiwen.com/i24419236/c010d0450d529f6f.jpg)
一 banner输出配置
1 在项目resources文件夹加入名为banner.txt文件,文件名要为banner,不能其他。
2 在项目resources文件夹加入名为banner.jpg图片,当图片名为其他,需要在properties配置文件配置指定。
3 roperties配置文件指定banner.image.location的属性值,为链接地址。
4 当没有指定banner输出文件,使用默认的字符串输出。
二 banner 原理
1 创建ResourceLoader 实例,赋值个SpringApplicationBannerPrinter构造函数。
2 通过ResourceLoader 实例加载resources文件夹下的指定名的banner文件,获取成功返回输出。
调用打印方法
![](https://img.haomeiwen.com/i24419236/c8d000f768f23d1c.jpg)
实例化输出所需的实例
![](https://img.haomeiwen.com/i24419236/27af4a31e97702ba.jpg)
获取banner输出信息
![](https://img.haomeiwen.com/i24419236/bc2f1df67e3e1549.jpg)
getBanner具体输出情况
![](https://img.haomeiwen.com/i24419236/b3baadcfbf345545.jpg)
三 常见问题
1 resources文件夹下banner.txt信息文件,在不改动配置情况下,为何得以banner命名?从下面源码得知,springboot默认读取resources文件夹下banner.txt。banner图片输出,也是以banner命名开始。
![](https://img.haomeiwen.com/i24419236/849b017787642fa2.jpg)
2 在没有指定banner文件输出下,为何也可以看到控制台输出banner信息。从下面源码截图可知,在其他banner配置文件没配的情况下,默认使用springboot自定义的字符串输出。
![](https://img.haomeiwen.com/i24419236/32fa71bdd8a3b3fb.jpg)
![](https://img.haomeiwen.com/i24419236/ff40ad74f1908f3e.jpg)
网友评论