SpringBoot操作之項(xiàng)目自定義啟動(dòng)Banner
一、前言
當(dāng)我們啟動(dòng)基于Spring Boot的應(yīng)用程序時(shí),通常會(huì)看到一個(gè)默認(rèn)的圖形,它顯示了Spring標(biāo)志和版本信息。這個(gè)就是啟動(dòng)Banner,在一些開源框架中也都會(huì)使用自定義的Banner,當(dāng)然我們也可以自定義啟動(dòng)Banner,以展示您自己的個(gè)性化信息或公司品牌。
今天和大家一起來自定義一個(gè)Banner體會(huì)一下哈!!
二、Banner介紹
啟動(dòng)Banner是在應(yīng)用程序啟動(dòng)過程中顯示的一段文本或圖形。它通常包含應(yīng)用程序的名稱、版本信息和其他相關(guān)的元數(shù)據(jù)。啟動(dòng)Banner能夠提供對應(yīng)用程序正在啟動(dòng)的直觀反饋,同時(shí)也可以為用戶展示個(gè)性化的信息。
默認(rèn)打?。?/p>
三、自定義Banner
自定義Banner有兩種不同的形式:
- 自己畫出圖形放到banner.txt
- 使用圖片banner.gif、banner.jpg、banner.png:圖像被轉(zhuǎn)換為 ASCII 藝術(shù)表示并打印在任何文本橫幅上方。
當(dāng)然banner.txt的功能比圖片的多一些,可以加一下參數(shù),圖片的話只能自己在代碼里在加!
變量 | 描述 |
${application.version} | 您的應(yīng)用程序的版本號,如 中聲明的那樣MANIFEST.MF。例如,Implementation-Version: 1.0打印為1.0. |
${application.formatted-version} | 您的應(yīng)用程序的版本號,如 中 聲明的MANIFEST.MF和顯示格式的(用方括號括起來并以 為前綴v)。例如(v1.0)。 |
${spring-boot.version} | 您正在使用的 Spring Boot 版本。例如2.7.13。 |
${spring-boot.formatted-version} | 您正在使用的 Spring Boot 版本,已格式化以供顯示(用方括號括起來并以 為前綴v)。例如(v2.7.13)。 |
${Ansi.NAME}(或${AnsiColor.NAME}, ${AnsiBackground.NAME}, ${AnsiStyle.NAME}) | NAMEANSI 轉(zhuǎn)義碼的名稱:AnsiPropertySource詳情請參閱。 |
${application.title} | 您的申請的標(biāo)題,如 中聲明的那樣MANIFEST.MF。例如Implementation-Title: MyApp打印為MyApp. |
AnsiPropertySource詳情請參閱:https://github.com/spring-projects/spring-boot/blob/v2.7.13/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/ansi/AnsiPropertySource.java
我們就一個(gè)個(gè)試試,自己寫banner.txt當(dāng)然很費(fèi)勁,我們使用網(wǎng)上生成的就可以了!
網(wǎng)上有很多,找了好多還是找個(gè)最好用,推薦給大家:Banner圖:ASCII藝術(shù)字(圖)集:https://www.bootschool.net/
「我們只需要把這倆文件放到resources文件夾下即可」
或者在resources文件夾下新建一個(gè)文件夾專門存放,這時(shí)我們要指定到具體文件夾下:
spring:
banner:
location: classpath:data/banner.txt
1、banner.txt
我們使用的是springboot2.7.13
我們先準(zhǔn)備好文件:
${AnsiColor.BLUE}
${application.title}
,
\`-,
| `\
| \
__/.- - -.\,__
_.-'` `'"'--..,__
.-'` `'--.,_
.'` _ _ ___ `)
.' .'` `'-. (_` _`) _.-'
.' '--. '. .-.`"`@ .-'""-,
.------~' ,.---' '-._ _.' / `'--'"""".-'
/` ' /` _,..-----.,__ `''''`/ ;__,..--''--'`
`'--.,__ ' |-'` `'---'| |
`\ \ \ /
| | '-'
\ |
`\ |
\/
///////////////////////////////////////////////////////////////
${AnsiColor.BRIGHT_RED}
${AnsiBackground.BRIGHT_WHITE}
${AnsiStyle.BOLD}
Application Version: ${application.version}
Spring Boot Version: ${spring-boot.version}
作者 ------------ ${application.author}
yml配置:
application:
version: v1.0
author: 王振軍
title: =============================大鯊魚網(wǎng)絡(luò)平臺===========================
spring-boot:
version: 2.7.13
server:
port: 9212
我們來說一下以下參數(shù):
參數(shù) | 解釋 |
AnsiColor | 顏色,專門有個(gè)枚舉AnsiColor,自己挑選即可 |
AnsiBackground | 背景色,專門有個(gè)枚舉AnsiBackground,自己挑選即可 |
AnsiStyle | 文字樣式,專門有個(gè)枚舉AnsiStyle,自己挑選即可 |
剩下的就是自定義的字段了!
2、圖片
本來想的兩個(gè)同時(shí)存在會(huì)怎么打印,但是高版本的springboot限制了,我先弄的txt,加上圖片后沒有圖片內(nèi)容!
于是我把springboot版本降到2.4.9,「兩個(gè)同時(shí)存在就會(huì)先打印圖片然后打印txt的內(nèi)容!」
顯示太高了,這里可以配置圖片的長寬等信息
spring:
banner:
image:
height: 30
需要在圖片前后打印一些信息可以在代碼中寫:
您還可以使用該spring.main.banner-mode屬性來確定是否必須打印橫幅System.out( console)、發(fā)送到配置的記錄器 ( log),還是根本不生成橫幅 ( off)。
「打印的橫幅以以下名稱注冊為單例 bean:springBootBanner?!?/p>
「同時(shí)存在:springboot高版本是不會(huì)顯示兩個(gè)的!!」
四、總結(jié)
通過自定義啟動(dòng) Banner,我們可以為我們的 Spring Boot 項(xiàng)目增添一些個(gè)性化的特色。這不僅可以提供更好的用戶體驗(yàn),還能展示我們的專業(yè)形象和品牌價(jià)值觀。自定義 Banner 不僅限于文本,我們還可以使用圖片等其他媒體類型來展示,讓應(yīng)用程序更加生動(dòng)有趣。更多好玩的,大家慢慢去探索哈!!