Spring Boot啟動banner定制的步驟詳解
前言
愛美之心人皆有之,在 unix 和 linux 命令行環(huán)境下工作的悶騷程序員們可能也覺得命令行太單調(diào)了,而是他們就發(fā)明了在命令行下采用 ansii 字符輸出各種圖形的方式。這就是命令行下的 banner了,類似下面這樣的
還有一些更悶騷的程序員甚至搞出了動態(tài)的 banner。例如在 linux(CentOS) 下執(zhí)行下面的命令安裝軟件 sl
sudo yum install sl
完成后,在命令行輸入一個 sl -a 命令,就會看到一個小火車噴著濃煙,從右至左開過屏幕,上面還有兩個小人在歡呼雀躍。
在 SpringBoot 啟動的時候,首先在命令行上會打印出如下的信息:
這就是 SpringBoot 的默認 banner。這個 啟動 banner 是可以進行定制的。具體內(nèi)容來自SpringBoot 官方文檔
SpringBoot 文本 Banner 定制
第一種定制 SpringBoot 的方式是編輯一個 banner.txt 文件,然后在里面輸入要在 banner 里面顯示的內(nèi)容,最后把這個文件存放到 classpath 路徑里面就可以了。這里我們放到 resource 目錄下。
一般為了顯示效果,我們會將要顯示的內(nèi)容轉(zhuǎn)換成為 ansii 的藝術(shù)字的形式。例如我想要在 banner 中顯示 HELLO,GRACE,直接輸入這個文本到文件中,顯示效果是不好的,我們要通過一個文本轉(zhuǎn) ansii 藝術(shù)字的工具來轉(zhuǎn)換一下。
把下面的 ansii 字符拷貝到 banner.txt 文件中。然后啟動 SpringBoot ,啟動 banner 就變成下面這個樣子
在 banner.txt中,除了直接輸入的 ansii 字符以外,還支持環(huán)境變量的配置。例如用 ${spring-boot.version} 來指代 SpringBoot 的版本。新的 banner.txt 內(nèi)容變成
啟動后的 banner 如下所示
支持的變量列表參考SpringBoot 官方文檔
SpringBoot 圖片 Banner 定制
如果覺得這種文本的啟動 banner 不夠炫酷,我們還可以將公司的 logo 或者產(chǎn)品的 logo 圖片設(shè)置為啟動的 banner 。當(dāng)然不是把圖片顯示在命令行中,而是解析圖片的像素,然后同 ansii 的方式給輸出到命令行中。
圖片的 banner 支持 gif 、png、jpeg 格式的圖片。使用的時候,選用合適的圖片,然后將圖片名字改成 banner,然后和文字的 banner.txt 文件一樣,放到 resource ,目錄下即可。
例如,我們將一個如下的 jpeg 格式的微博 logo 改名為 banner.jpg 文件放到 resource 目錄下
然后程序啟動的 banner 就變成下面的樣子。
如果在 classpath 中既有 banner.txt 文件,又有 banner 的圖片文件,SpringBoot 會先顯示圖片 banner ,然后再顯示文本的 banner。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
詳解配置spring-boot-actuator時候遇到的一些小問題
這篇文章主要介紹了詳解配置spring-boot-actuator時候遇到的一些小問題,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-11-11Jenkins遷移job插件Job Import Plugin流程詳解
這篇文章主要介紹了Jenkins遷移job插件Job Import Plugin流程詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-08-08Mybatis中的游標(biāo)查詢Cursor(滾動查詢)
這篇文章主要介紹了Mybatis中的游標(biāo)查詢Cursor(滾動查詢),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01Mybatis配置之<typeAliases>別名配置元素解析
這篇文章主要介紹了Mybatis配置之<typeAliases>別名配置元素解析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07IDEA下SpringBoot指定環(huán)境、配置文件啟動操作過程
這篇文章主要介紹了IDEA下SpringBoot指定環(huán)境、配置文件啟動過程,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-08-08Java中notify()和notifyAll()的使用區(qū)別
本文主要介紹了Java中notify()和notifyAll()的使用區(qū)別,文中通過示例代碼介紹的非常詳細,感興趣的小伙伴們可以參考一下2021-06-06