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 的定製其實沒什麼鳥用,只是程序員本身的一點小趣味,權當在累了的時候解個悶吧。

原文發表在簡書中,原始連接

相關文章
相關標籤/搜索