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