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充滿的、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)類里面添加上一些項(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)文章
Maven高級(jí)的聚合和繼承的實(shí)現(xiàn)
在軟件開發(fā)中,隨著項(xiàng)目規(guī)模的擴(kuò)大,單個(gè)模塊的開發(fā)方式逐漸轉(zhuǎn)變?yōu)槎嗄K開發(fā),這種方式帶來(lái)了項(xiàng)目管理上的挑戰(zhàn),其中最常見(jiàn)的問(wèn)題是模塊間的依賴管理和版本控制問(wèn)題,本文就來(lái)介紹一下2024-10-10如何處理@PathVariable中的特殊字符問(wèn)題
這篇文章主要介紹了如何處理@PathVariable中的特殊字符問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-02-02在Windows系統(tǒng)下安裝Thrift的方法與使用講解
今天小編就為大家分享一篇關(guān)于在Windows系統(tǒng)下安裝Thrift的方法與使用講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-12-12Java數(shù)據(jù)庫(kù)連接PreparedStatement的使用詳解
這篇文章主要介紹了Java數(shù)據(jù)庫(kù)連接PreparedStatement的使用詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08解決springboot啟動(dòng)報(bào)錯(cuò)bean找不到的問(wèn)題
這篇文章主要介紹了解決springboot啟動(dòng)報(bào)錯(cuò)bean找不到原因,本文給大家分享完美解決方案,通過(guò)圖文相結(jié)合給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-03-03java中的equals()和toString()方法實(shí)例詳解
這篇文章主要介紹了java中的equals()和toString()方法實(shí)例詳解的相關(guān)資料,這里舉例說(shuō)明,并附實(shí)例代碼,和實(shí)現(xiàn)效果圖,需要的朋友可以參考下2016-11-11解決JSON.toJSONString首字母大小寫的問(wèn)題
這篇文章主要介紹了解決JSON.toJSONString首字母大小寫的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02SpringBoot中API接口參數(shù)獲取方式小結(jié)
在Spring Boot中,API接口參數(shù)可以通過(guò)多種方式獲取,具體取決于你定義的API接口參數(shù)類型(如路徑參數(shù)、查詢參數(shù)、請(qǐng)求體參數(shù)、請(qǐng)求頭等),本文給大家就介紹了一些常見(jiàn)的參數(shù)獲取方式,需要的朋友可以參考下2024-06-06mybatis逆向工程與分頁(yè)在springboot中的應(yīng)用及遇到坑
最近在項(xiàng)目中應(yīng)用到springboot與mybatis,在進(jìn)行整合過(guò)程中遇到一些坑,在此將其整理出來(lái),分享到腳本之家平臺(tái)供大家參考下2018-09-09