炫酷的啓動方式——如何定製Spring Boot的Banner

導語

​ 相信使用過Spring Boot的同學對下面這張圖片都不陌生,沒錯,下面就是Spring Boot的啓動打印內容,是不是感覺千篇一律、毫無新意呢?是不是早就想換了這個圖案?那麼這篇文章將會手把手教你如何更換啓動打印內容,使你的Spring Boot啓動變的別具一格、格外酷炫。

在這裏插入圖片描述

1,直入正題

特意翻了一下源碼,發現Spring Boot有個接口是專門做這個操作的:org.springframework.boot.Banner。當然了,如果你不嫌麻煩,完全可以實現這個接口,使用Java代碼,實現啓動時打印內容的定製,但是吧,就這麼個小操作,當然不會麻煩各位動手去寫了,我們且看以下兩個類:

  • org.springframework.boot.ResourceBanner

文本格式,Spring Boot 會讀取配置項banner.txtbanner.location,從配置項中獲取真實的文件地址;如果配置中沒有配置,會把配置項作爲文件去加載。

  • org.springframework.boot.ImageBanner

圖片格式,Spring Boot 加載配置項banner.image.location,從配置項中獲取真實的路徑,Spring Boot 會根據配置項的路徑加載文件。
如果沒有配置banner.image.location,轉而依次加載banner.gifbanner.jpgbanner.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,雖然不能幫助開發,但是可以在枯燥的開發中增添一點樂趣,由於純手打,難免會有紕漏,如果發現錯誤的地方,請第一時間告訴我,這將是我進步的一個很重要的環節。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章