SpringBoot自定義Banner使用詳解
1. 什么是 Banner
啟動 Spring Boot 時,幾乎總是能在控制臺上方看到如下橫幅,這個也叫字符畫、英文ASCII藝術字
2. 如何修改 Banner
默認情況下,只需在 resources 根目錄(準確說是 classpath)下新建一個 banner.txt 文件,內容即為 Banner
在 banner.txt 文件中,可以使用可用的任何鍵 Environment 以及以下任何占位符
Variable | Description |
${application.version} | 應用程序的版本號,例如1.0 |
${application.formatted-version} | 用括號括起來并以 v 為前綴,例如(v1.0) |
${spring-boot.version} | 正在使用的 Spring Boot 版本。例如3.0.5 |
${spring-boot.formatted-version} | 同理,(v3.0.5) |
3. IDEA 中演示
banner.txt 內容如下,使用一個經(jīng)典的佛祖保佑 Banner,并演示占位符的使用
${spring-boot.formatted-version} ———————————————————————————————————————————————————————————————————— // _ooOoo_ // // o8888888o // // 88" . "88 // // (| ^_^ |) // // O\ = /O // // ____/`---'\____ // // .' \\| |// `. // // / \\||| : |||// \ // // / _||||| -:- |||||- \ // // | | \\\ - /// | | // // | \_| ''\---/'' | | // // \ .-\__ `-` ___/-. / // // ___`. .' /--.--\ `. . ___ // // ."" '< `.___\_<|>_/___.' >'"". // // | | : `- \`.;`\ _ /`;.`/ - ` : | | // // \ \ `-. \_ __\ /__ _/ .-` / / // // ========`-.____`-.___\_____/___.-`____.-'======== // // `=---=' // // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // // 佛祖保佑 永不宕機 永無BUG // ————————————————————————————————————————————————————————————————————
運行如下,符合預期
4. 快速生成 Banner
對于復雜的 Banner(譬如上面的佛祖),手打顯然是很浪費時間精力的,通常會借助一些 Banner 生成工具快速生成
推薦一個 Banner 在線生成工具
可以將輸入的文本轉換為 Banner,并且有多種字體可選
5. 指定 banner.txt 的位置
上面提到默認情況下,banner.txt 必須放在 classpath(resources 根目錄 )下方可生效,假設現(xiàn)在需要放在 resources/static 目錄下,在 application.yml 添加如下配置項即可
spring: banner: # 或者 static/banner.txt location: classpath:static/banner.txt
需要說明的是,在沒有顯式設置上述配置項時,Banner 文件只能為 banner.txt;顯式設置后,Banner 文件名就可以為 xxx.txt
6. 在 Spring Boot 2 中的說明
6.1 圖片生成 Banner
在 3.0.x 的版本中,Banner 僅能通過文本文件(banner.txt)的方式設置,但在 2 的版本中,除了文本文件,還可以通過圖片的方式設置,查看 spring.banner 下的配置項就可以發(fā)現(xiàn)
通過配置項 spring.banner.image.location 的默認值可以看出,只需在 classpath 下放入一個 banner.gif 圖片即可,經(jīng)過測試,除了 gif 格式的圖片,jpg、jpg 也能被識別,實際效果就是將圖片轉換為字符畫
以下圖為例(盒馬.jpg)
spring: banner: image: location: static/盒馬.jpg width: 38
由于默認寬度(76)下在控制臺中生成的Banner過大,不便截圖,故此處指定了 width 屬性
生成效果:
可以看出,生成的 Banner 和原圖十分相似,甚至連顏色都還原了(用了某種算法)
6.2 增強顯示效果
還可以進一步增強顯示效果,通過設置 spring.banner.image.pixelmode,將渲染圖像時使用的像素模式由默認的 text 模式改為 block 模式
spring: banner: image: location: static/盒馬.jpg width: 38 pixelmode: block
生成效果:
6.3 更多配置項
至于 spring.banner.image 的其他屬性不再逐一演示,因為十分簡單,參照文檔一試便知,附上
遺憾的是,在 Spring Boot 3 中有關 spring.banner.image.* 的配置項均已棄用,該功能已被剔除,僅支持文本文件的方式生成 Banner
7. 補充
在 2 版本中,可以同時指定文本文件和圖片生成 Banner。
若同時指定,控制臺 Banner 打印順序為:文本文件、圖片
到此這篇關于SpringBoot自定義Banner使用詳解的文章就介紹到這了,更多相關SpringBoot自定義Banner內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
mybatis報錯?resultMapException的解決
這篇文章主要介紹了mybatis報錯?resultMapException的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-01-01springboot druid mybatis多數(shù)據(jù)源配置方式
這篇文章主要介紹了springboot druid mybatis多數(shù)據(jù)源配置方式,具有很好的參考價值,希望對大家有所幫助,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12Java實現(xiàn)讀取項目中文件(.json或.properties)的方法詳解
這篇文章主要為大家詳細介紹了Java實現(xiàn)讀取項目中文件的方法,例如.json或.properties,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下2023-04-04java微信小程序步數(shù)encryptedData和開放數(shù)據(jù)解密的實現(xiàn)
這篇文章主要介紹了java微信小程序步數(shù)encryptedData和開放數(shù)據(jù)解密的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-09-09