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

右邊是文本框,文本框中可以輸入你的目標字符串。左邊是設置項,下面主要說下設置項:
Font:字型。Featured(精選) FIGlet Fonts;ANSI(標準) FIGlet Fonts,Regular(常規(guī)) FIGlet Fonts,AOL Macro(宏) Fonts。Character Width:字符寬度。Full充滿的、Fitted合適的、Smush(R)、Smush(U)、Default默認的。這里直接用默認的就行。Character Height:字符高度。和字符寬度一樣。Test All:全部測試。點這個按鈕會按照Font列表中的字型順序將轉換結果全部顯示出來。會比較慢。中途可以點擊Cancel按鈕取消操作。More Opts:更多選項。里面可以進行輸出格式指定和空白字符替換。一般不使用。About:關于。里面是關于操作界面的介紹和列表選項的區(qū)別。
下面是我得到的parking manage字符串的一種藝術體:
_ _
| | (_)
_ __ __ _ _ __| | ___ _ __ __ _ _ __ ___ __ _ _ __ __ _ __ _ ___
| '_ \ / _` | '__| |/ / | '_ \ / _` | | '_ ` _ \ / _` | '_ \ / _` |/ _` |/ _ \
| |_) | (_| | | | <| | | | | (_| | | | | | | | (_| | | | | (_| | (_| | __/
| .__/ \__,_|_| |_|\_\_|_| |_|\__, | |_| |_| |_|\__,_|_| |_|\__,_|\__, |\___|
| | __/ | __/ |
|_| |___/ |___/
1.2. 圖片 Banner
SpringBoot不僅可以使用字符Banner,還可以使用圖片Banner,可以將想要使用的圖片命名為banner.png(jpg格式測試未生效,版本:Spring Boot v2.3.5.RELEASE),然后將該圖片文件放到SpringBoot項目中的resources目錄中,啟動項目,就能看到自定義的圖片Banner了。(如果同時包括banner.pngh和banner.txt,則都會被打印出來。)圖片名也可以自定義,見下面的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提供了一下配置項,可對Banner進行相應的配置,版本Spring Boot v2.3.5.RELEASE):
# 應用程序運行時用于顯示Banner的模式:console,將標志輸出到控制臺,默認值;log,將標志輸出到日志;off:關閉標志輸出。 spring.main.banner-mode=console # Banner文件編碼 spring.banner.charset=UTF-8 # Banner文本資源位置 spring.banner.location=classpath:banner.txt # Banner圖像文件位置(也可以使用jpg或png),默認值為classpath:banner.gif spring.banner.image.location=classpath:banner.gif # 用于ANSI顏色的位深度。支持4(16色)或8(256色),默認4 spring.banner.image.bitdepth=4 # Banner圖像的高度(以字符為單位),默認是圖片的高度 spring.banner.image.height= # Banner圖像的寬度,單位為字符。默認是76 spring.banner.image.width=76 # 是否將圖像反轉為黑色主題,即白色轉換為黑色,黑色轉換為白色。默認false spring.banner.image.invert=false # 左邊圖像邊距(以字符表示),默認為2 spring.banner.image.margin=50 # 渲染圖像時使用的像素模式,默認text spring.banner.image.pixelmode=text
2. 添加訪問地址
可以在啟動類里面添加上一些項目訪問信息,這樣方便接下來的測試,直接復制粘貼到瀏覽器或者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" +
"本地訪問地址: \thttp://localhost:" + port + path + "/\n\t" +
"外部訪問地址: \thttp://" + ip + ":" + port + path + "/\n\t" +
"Swagger文檔: \thttp://" + ip + ":" + port + path + "/swagger-ui.html\n" +
"----------------------------------------------------------");
}
}
顯示效果
----------------------------------------------------------
Application Demo is running! Access URLs:
本地訪問地址: http://localhost:8080/
外部訪問地址: http://192.168.31.7:8080/
Swagger文檔: http://192.168.31.7:8080/swagger-ui.html
----------------------------------------------------------
自定義springboot啟動圖案輸出
直接上內容
1、在項目中,目錄src\main\resources文件夾下新建banner.txt,名字不要變哦。
2、登錄網(wǎng)站 http://patorjk.com/software/taag/ 輸入字符串,生成自己想要的圖案。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
在Windows系統(tǒng)下安裝Thrift的方法與使用講解
今天小編就為大家分享一篇關于在Windows系統(tǒng)下安裝Thrift的方法與使用講解,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-12-12
Java數(shù)據(jù)庫連接PreparedStatement的使用詳解
這篇文章主要介紹了Java數(shù)據(jù)庫連接PreparedStatement的使用詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-08-08
java中的equals()和toString()方法實例詳解
這篇文章主要介紹了java中的equals()和toString()方法實例詳解的相關資料,這里舉例說明,并附實例代碼,和實現(xiàn)效果圖,需要的朋友可以參考下2016-11-11
mybatis逆向工程與分頁在springboot中的應用及遇到坑
最近在項目中應用到springboot與mybatis,在進行整合過程中遇到一些坑,在此將其整理出來,分享到腳本之家平臺供大家參考下2018-09-09

