SpringBoot 如何自定義項(xiàng)目啟動(dòng)信息打印
1. 修改 Banner
默認(rèn)情況下,在啟動(dòng)SpringBoot項(xiàng)目的時(shí)候能在日志中看到如下所示的Banner,這個(gè)Banner是支持自定義的。
. ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.3.5.RELEASE)
1.1. 字符 Banner
可以將想要使用的字符保存到一個(gè)banner.txt文件中,然后將該文件放到SpringBoot項(xiàng)目中的resources目錄中,啟動(dòng)項(xiàng)目,就能看到自定義的字符Banner了。文件名也可以自定義,見(jiàn)下面的Banner配置。
字符Banner可以在ASCII藝術(shù)字(圖)集搜索下載喜歡的直接使用,也可以通過(guò)一個(gè)網(wǎng)站對(duì)文本來(lái)生成藝術(shù)字:Text to ASCII Art Generator。下面簡(jiǎn)單說(shuō)下該工具網(wǎng)站(第二個(gè))的使用方法。進(jìn)入后會(huì)看到如下界面:

右邊是文本框,文本框中可以輸入你的目標(biāo)字符串。左邊是設(shè)置項(xiàng),下面主要說(shuō)下設(shè)置項(xiàng):
Font:字型。Featured(精選) FIGlet Fonts;ANSI(標(biāo)準(zhǔn)) FIGlet Fonts,Regular(常規(guī)) FIGlet Fonts,AOL Macro(宏) Fonts。Character Width:字符寬度。Full充滿(mǎn)的、Fitted合適的、Smush(R)、Smush(U)、Default默認(rèn)的。這里直接用默認(rèn)的就行。Character Height:字符高度。和字符寬度一樣。Test All:全部測(cè)試。點(diǎn)這個(gè)按鈕會(huì)按照Font列表中的字型順序?qū)⑥D(zhuǎn)換結(jié)果全部顯示出來(lái)。會(huì)比較慢。中途可以點(diǎn)擊Cancel按鈕取消操作。More Opts:更多選項(xiàng)。里面可以進(jìn)行輸出格式指定和空白字符替換。一般不使用。About:關(guān)于。里面是關(guān)于操作界面的介紹和列表選項(xiàng)的區(qū)別。
下面是我得到的parking manage字符串的一種藝術(shù)體:
_ _
| | (_)
_ __ __ _ _ __| | ___ _ __ __ _ _ __ ___ __ _ _ __ __ _ __ _ ___
| '_ \ / _` | '__| |/ / | '_ \ / _` | | '_ ` _ \ / _` | '_ \ / _` |/ _` |/ _ \
| |_) | (_| | | | <| | | | | (_| | | | | | | | (_| | | | | (_| | (_| | __/
| .__/ \__,_|_| |_|\_\_|_| |_|\__, | |_| |_| |_|\__,_|_| |_|\__,_|\__, |\___|
| | __/ | __/ |
|_| |___/ |___/
1.2. 圖片 Banner
SpringBoot不僅可以使用字符Banner,還可以使用圖片Banner,可以將想要使用的圖片命名為banner.png(jpg格式測(cè)試未生效,版本:Spring Boot v2.3.5.RELEASE),然后將該圖片文件放到SpringBoot項(xiàng)目中的resources目錄中,啟動(dòng)項(xiàng)目,就能看到自定義的圖片Banner了。(如果同時(shí)包括banner.pngh和banner.txt,則都會(huì)被打印出來(lái)。)圖片名也可以自定義,見(jiàn)下面的Banner配置。
比如下面是我使用的圖片和打印出的效果:

@@@ @@@
@.@@@@ @@@*@
@..@@@@8 ... @@@@@.@:
@....@@& ....@@o.....&@...#@
: @.............@...........8@
8@@@o:o@@@@@@@@ @......@...@..............@#
@@ @@@@@@@@ @@.........@...... @ .....@
@ @......**.@*****:***...&@@
@ o@@@&@@o......@......@.......@&
@ @@@@::::::@ .....&.**..***:..... @
@ @@@::@@@o:::@@@@@@@....@@..#@... @@@@@@
@@ @@::@@:::::@:::@@@@@@@.....#@##.....@@@@@@
@. @@@@:::::::::::::::::::@@..............#@
@# @@::::o::::::::::::::::::::@*...........@
&@@8:::::::::@:::::::::::::::::::@&......*@.
@@@&::::::::&@:::::::::::::::::::::@@&.@@
@@::::@::o&&oo@&::::::::::::::::::::::::::@:
*@:::@@& @@@@@@@8 :@@@@@o::::::::::::::@8:@:
@&::@& @@@@@@ .@@@8:::::::::::@@@
@::#@ #@@@@ &@@#::::::::::@
@@:::@ @@@@@@@ @@@:::::::&@
@o:::@. *@@o::::@@@@@
@@@@@@@: .@@o::::::@
:oooooo*
1.3. Banner 配置
SpringBoot提供了一下配置項(xiàng),可對(duì)Banner進(jìn)行相應(yīng)的配置,版本Spring Boot v2.3.5.RELEASE):
# 應(yīng)用程序運(yùn)行時(shí)用于顯示Banner的模式:console,將標(biāo)志輸出到控制臺(tái),默認(rèn)值;log,將標(biāo)志輸出到日志;off:關(guān)閉標(biāo)志輸出。 spring.main.banner-mode=console # Banner文件編碼 spring.banner.charset=UTF-8 # Banner文本資源位置 spring.banner.location=classpath:banner.txt # Banner圖像文件位置(也可以使用jpg或png),默認(rèn)值為classpath:banner.gif spring.banner.image.location=classpath:banner.gif # 用于ANSI顏色的位深度。支持4(16色)或8(256色),默認(rèn)4 spring.banner.image.bitdepth=4 # Banner圖像的高度(以字符為單位),默認(rèn)是圖片的高度 spring.banner.image.height= # Banner圖像的寬度,單位為字符。默認(rèn)是76 spring.banner.image.width=76 # 是否將圖像反轉(zhuǎn)為黑色主題,即白色轉(zhuǎn)換為黑色,黑色轉(zhuǎn)換為白色。默認(rèn)false spring.banner.image.invert=false # 左邊圖像邊距(以字符表示),默認(rèn)為2 spring.banner.image.margin=50 # 渲染圖像時(shí)使用的像素模式,默認(rèn)text spring.banner.image.pixelmode=text
2. 添加訪問(wèn)地址
可以在啟動(dòng)類(lèi)里面添加上一些項(xiàng)目訪問(wèn)信息,這樣方便接下來(lái)的測(cè)試,直接復(fù)制粘貼到瀏覽器或者Postman即可。
package com.example.demo;
import lombok.extern.slf4j.Slf4j;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.core.env.Environment;
import java.net.InetAddress;
import java.net.UnknownHostException;
@Slf4j
@SpringBootApplication
@MapperScan(basePackages = "com.example.demo.dao")
public class DemoApplication {
public static void main(String[] args) throws UnknownHostException {
ConfigurableApplicationContext application = SpringApplication.run(DemoApplication.class, args);
Environment env = application.getEnvironment();
String ip = InetAddress.getLocalHost().getHostAddress();
String port = env.getProperty("server.port");
port = port == null ? "8080" : port;
String path = env.getProperty("server.servlet.context-path");
path = path == null ? "" : path;
log.info("\n----------------------------------------------------------\n\t" +
"Application Demo is running! Access URLs:\n\t" +
"本地訪問(wèn)地址: \thttp://localhost:" + port + path + "/\n\t" +
"外部訪問(wèn)地址: \thttp://" + ip + ":" + port + path + "/\n\t" +
"Swagger文檔: \thttp://" + ip + ":" + port + path + "/swagger-ui.html\n" +
"----------------------------------------------------------");
}
}
顯示效果
----------------------------------------------------------
Application Demo is running! Access URLs:
本地訪問(wèn)地址: http://localhost:8080/
外部訪問(wèn)地址: http://192.168.31.7:8080/
Swagger文檔: http://192.168.31.7:8080/swagger-ui.html
----------------------------------------------------------
自定義springboot啟動(dòng)圖案輸出
直接上內(nèi)容
1、在項(xiàng)目中,目錄src\main\resources文件夾下新建banner.txt,名字不要變哦。
2、登錄網(wǎng)站 http://patorjk.com/software/taag/ 輸入字符串,生成自己想要的圖案。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java解析http協(xié)議字符串的方法實(shí)現(xiàn)
本文主要介紹了Java解析http協(xié)議字符串的方法實(shí)現(xiàn),我們探討了如何使用Java解析HTTP協(xié)議字符串,并將其封裝成了一個(gè)HttpRequest類(lèi),具有一定的參考價(jià)值,感興趣的可以了解一下2023-09-09
Java與Mysql鎖相關(guān)知識(shí)總結(jié)
這篇文章主要介紹了Java與Mysql鎖相關(guān)知識(shí)總結(jié)的相關(guān)資料,需要的朋友可以參考下2023-04-04
SpringBoot項(xiàng)目中自定義Banner的技術(shù)指南
在 Spring Boot 項(xiàng)目中,當(dāng)應(yīng)用啟動(dòng)時(shí)會(huì)顯示默認(rèn)的 Spring 標(biāo)志和版本信息,定制化的啟動(dòng) Banner 不僅可以美化應(yīng)用,甚至可以提供一些關(guān)鍵信息,本文將介紹如何在 Spring Boot 項(xiàng)目中自定義啟動(dòng) Banner,需要的朋友可以參考下2025-03-03
詳解Java如何在業(yè)務(wù)代碼中優(yōu)雅的使用策略模式
這篇文章主要為大家介紹了Java如何在業(yè)務(wù)代碼中優(yōu)雅的使用策略模式,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的可以了解下2023-08-08
Spring注解驅(qū)動(dòng)之BeanFactoryPostProcessor原理解析
這篇文章主要介紹了Spring注解驅(qū)動(dòng)之BeanFactoryPostProcessor原理,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09
java 文件目錄讀寫(xiě)刪除操作詳細(xì)實(shí)現(xiàn)代碼
這篇文章主要介紹了java 文件讀寫(xiě)刪操作詳細(xì)實(shí)現(xiàn)代碼,需要的朋友可以參考下2017-09-09

