導語
相信使用過Spring Boot的同學對下面這張圖片都不陌生,沒錯,下面就是Spring Boot的啓動打印內容,是不是感覺千篇一律、毫無新意呢?是不是早就想換了這個圖案?那麼這篇文章將會手把手教你如何更換啓動打印內容,使你的Spring Boot啓動變的別具一格、格外酷炫。
1,直入正題
特意翻了一下源碼,發現Spring Boot有個接口是專門做這個操作的:org.springframework.boot.Banner。當然了,如果你不嫌麻煩,完全可以實現這個接口,使用Java代碼,實現啓動時打印內容的定製,但是吧,就這麼個小操作,當然不會麻煩各位動手去寫了,我們且看以下兩個類:
- org.springframework.boot.ResourceBanner
文本格式,Spring Boot 會讀取配置項
banner.txt
和banner.location
,從配置項中獲取真實的文件地址;如果配置中沒有配置,會把配置項作爲文件去加載。
- org.springframework.boot.ImageBanner
圖片格式,Spring Boot 加載配置項
banner.image.location
,從配置項中獲取真實的路徑,Spring Boot 會根據配置項的路徑加載文件。
如果沒有配置banner.image.location
,轉而依次加載banner.gif
、banner.jpg
、banner.png
這三個中存在的文件。
如果上面兩種都沒有配置,Spring Boot 就會加載默認的 Banner。
接下來我們會介紹使用文本格式,定製屬於你自己的啓動Banner:
在啓動類中加入打印開關
//控制檯打印
springApplication.setBannerMode(Banner.Mode.CONSOLE);
//關閉
springApplication.setBannerMode(Banner.Mode.OFF);
創建Banner 文本文件
src/main/resources/banner.txt
下面這個是最經典的啓動Banner,據聽說,用上之後,寫代碼嗖嗖的,而且無BUG,就是這麼神奇。
${AnsiColor.BRIGHT_YELLOW}
////////////////////////////////////////////////////////////////////
// _ooOoo_ //
// o8888888o //
// 88" . "88 //
// (| ^_^ |) //
// O\ = /O //
// ____/`---'\____ //
// .' \\| |// `. //
// / \\||| : |||// \ //
// / _||||| -:- |||||- \ //
// | | \\\ - /// | | //
// | \_| ''\---/'' | | //
// \ .-\__ `-` ___/-. / //
// ___`. .' /--.--\ `. . ___ //
// ."" '< `.___\_<|>_/___.' >'"". //
// | | : `- \`.;`\ _ /`;.`/ - ` : | | //
// \ \ `-. \_ __\ /__ _/ .-` / / //
// ========`-.____`-.___\_____/___.-`____.-'======== //
// `=---=' //
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ //
// 佛祖保佑 永不宕機 永無BUG //
////////////////////////////////////////////////////////////////////
${AnsiColor.BRIGHT_RED}
Application Version: ${application.version}${application.formatted-version}
Spring Boot Version: ${spring-boot.version}${spring-boot.formatted-version}
從上面的內容中可以看到,還使用了一些屬性設置 :
${AnsiColor.BRIGHT_RED}:設置控制檯中輸出內容的顏色,可以自定義,具體參考
org.springframework.boot.ansi.AnsiColor
${application.version}:用來獲取MANIFEST.MF文件中的版本號,這就是爲什麼要在Application.java中指定 SpringVersion.class
{application.formatted-version}:格式化後的{application.version}版本信息
${spring-boot.version}:Spring Boot的版本號
{spring-boot.formatted-version}:格式化後的{spring-boot.version}版本信息
請看效果圖:
從效果圖看,我們定義的文本最後被上了顏色,顏色是如何轉換的,可以參考 :效果參考請點擊
2,騷操作
不僅如此,Spring Boot支持定製圖片作爲啓動打印內容,方法如下 :
方法也很簡單,也是上面的步驟,只是把圖片複製到 src/main/resources/banner.jpg
位置,並且要保證名字是banner.jpg
即可。
最後安利一個可以在線生成Banner的網站: https://www.bootschool.net/ascii
小結
本篇文章介紹瞭如何定製Spring Boot的Banner,雖然不能幫助開發,但是可以在枯燥的開發中增添一點樂趣,由於純手打,難免會有紕漏,如果發現錯誤的地方,請第一時間告訴我,這將是我進步的一個很重要的環節。