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