SpringBoot 启动 banner 定制

什么是 banner

爱漂亮之心人皆有之,在 unix 和 linux 命令行环境下工做的闷骚程序员们可能也以为命令行太单调了,而是他们就发明了在命令行下采用 ansii 字符输出各类图形的方式。这就是命令行下的 banner了,相似下面这样的html

linux 命令行 banner 样例

还有一些更闷骚的程序员甚至搞出了动态的 banner。例如在 linux(CentOS) 下执行下面的命令安装软件 sllinux

sudo yum install sl
复制代码

完成后,在命令行输入一个 sl -a 命令,就会看到一个小火车喷着浓烟,从右至左开过屏幕,上面还有两个小人在欢呼雀跃。程序员

在 SpringBoot 启动的时候,首先在命令行上会打印出以下的信息: spring

SpringBoot 默认 banner

这就是 SpringBoot 的默认 banner。这个 启动 banner 是能够进行定制的。具体内容来自 SpringBoot 官方文档bash

SpringBoot 文本 Banner 定制

第一种定制 SpringBoot 的方式是编辑一个 banner.txt 文件,而后在里面输入要在 banner 里面显示的内容,最后把这个文件存放到 classpath 路径里面就能够了。这里咱们放到 resource 目录下。spring-boot

通常为了显示效果,咱们会将要显示的内容转换成为 ansii 的艺术字的形式。例如我想要在 banner 中显示 HELLO,GRACE,直接输入这个文本到文件中,显示效果是很差的,咱们要经过一个文本转 ansii 艺术字的工具来转换一下。工具

文本艺术字转换

把下面的 ansii 字符拷贝到 banner.txt 文件中。而后启动 SpringBoot ,启动 banner 就变成下面这个样子spa

定制后启动 banner

在 banner.txt中,除了直接输入的 ansii 字符之外,还支持环境变量的配置。例如用 ${spring-boot.version} 来指代 SpringBoot 的版本。新的 banner.txt 内容变成 命令行

带环境变量的 banner.txt

启动后的 banner 以下所示3d

带变量的 banner

支持的变量列表参考 SpringBoot 官方文档

SpringBoot 图片 Banner 定制

若是以为这种文本的启动 banner 不够炫酷,咱们还能够将公司的 logo 或者产品的 logo 图片设置为启动的 banner 。固然不是把图片显示在命令行中,而是解析图片的像素,而后同 ansii 的方式给输出到命令行中。

图片的 banner 支持 gif 、png、jpeg 格式的图片。使用的时候,选用合适的图片,而后将图片名字改为 banner,而后和文字的 banner.txt 文件同样,放到 resource ,目录下便可。

例如,咱们将一个以下的 jpeg 格式的微博 logo 更名为 banner.jpg 文件放到 resource 目录下

微博 logo
而后程序启动的 banner 就变成下面的样子。
微博 banner

若是在 classpath 中既有 banner.txt 文件,又有 banner 的图片文件,SpringBoot 会先显示图片 banner ,而后再显示文本的 banner。

后记

SpringBoot 启动 banner 的定制其实没什么鸟用,只是程序员本身的一点小趣味,权当在累了的时候解个闷吧。

原文发表在简书中,原始连接

相关文章
相关标签/搜索