詳解SpringBoot如何自定義啟動(dòng)畫(huà)面
我們啟動(dòng)項(xiàng)目的之后,會(huì)在控制臺(tái)上看到類(lèi)似下面的畫(huà)面:

呀呀呀~ 看不懂這是啥圖案啊~
那么,我們是否可以自定義呢?
肯定可以
自定 Banner
上面??的截圖信息就是 Banner 信息,我們可以在項(xiàng)目的 resources 下新建 banner.txt 來(lái)實(shí)現(xiàn),比如:
// banner.txt Jimmy
然后我們重新啟動(dòng)項(xiàng)目,則有:

獲取屬性
當(dāng)然,我們可以獲取項(xiàng)目的屬性,通過(guò) ${屬性名} 來(lái)獲取,比如:
${spring-boot.version}獲取的屬性可以有:
- AnsiColor.BRIGHT_RED: 設(shè)置控制臺(tái)中輸出內(nèi)容的顏色,具體參考
org.springframework.boot.ansi.AnsiColor - application.version: 用來(lái)獲取
MANIFEST.MF文件的版本信息 - application.formatted-version: 格式化后的
application.version版本信息 - spring-boot.version:
Spring Boot的版本號(hào) - spring-boot.formatted-version: 格式化后的
sprin-boot.version版本信息
設(shè)置顏色
剛才我們提到了 AnsiColor 可以設(shè)置控制臺(tái)輸出內(nèi)容的顏色。那么,我們應(yīng)該如何設(shè)置呢?
這很簡(jiǎn)單,只需要在這段文本前面加入 ${AnsiColor.BRIGHT_RED} 即可。添加的枚舉類(lèi)型顏色根據(jù)個(gè)人喜好更改
// 枚舉值
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//
package org.springframework.boot.ansi;
public enum AnsiColor implements AnsiElement {
DEFAULT("39"),
BLACK("30"),
RED("31"),
GREEN("32"),
YELLOW("33"),
BLUE("34"),
MAGENTA("35"),
CYAN("36"),
WHITE("37"),
BRIGHT_BLACK("90"),
BRIGHT_RED("91"),
BRIGHT_GREEN("92"),
BRIGHT_YELLOW("93"),
BRIGHT_BLUE("94"),
BRIGHT_MAGENTA("95"),
BRIGHT_CYAN("96"),
BRIGHT_WHITE("97");
private final String code;
private AnsiColor(String code) {
this.code = code;
}
public String toString() {
return this.code;
}
}實(shí)操
OK,我們了解得差不多了,來(lái)實(shí)操一下。通過(guò) Text to ASCII Art Generator 獲取生成的藝術(shù)字。
然后在 banner.txt 上添加文本如下:
啟動(dòng)成功!
${AnsiColor.BRIGHT_RED}
_ _
| (_)
| |_ _ __ ___ _ __ ___ _ _
_ | | | '_ ` _ | '_ ` _ | | | |
| |__| | | | | | | | | | | | | |_| |
____/|_|_| |_| |_|_| |_| |_|__, |
__/ |
|___/
${AnsiColor.BRIGHT_WHITE}
歡迎使用~
spring boot 版本為 ${spring-boot.version}我們重新運(yùn)行下項(xiàng)目,效果如下:

關(guān)閉 Banner
我們不想使用 Banner,那么,我們?cè)谌肟谖募羞M(jìn)行關(guān)閉即可。
PS,我這里使用的 spring boot 版本為 3.1.2
原先入口文件:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class LaunchApplication {
public static void main(String[] args) {
SpringApplication.run(LaunchApplication.class, args);
}
}上面代碼其實(shí)可以寫(xiě)成這樣:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class LaunchApplication {
public static void main(String[] args) {
SpringApplication app = new SpringApplication(LaunchApplication.class);
app.run(args);
}
}我們添加一行代碼禁用 banner.txt,更改后:
import org.springframework.boot.Banner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class LaunchApplication {
public static void main(String[] args) {
SpringApplication app = new SpringApplication(LaunchApplication.class);
app.setBannerMode(Banner.Mode.OFF); // 設(shè)置 Banner 模式為關(guān)閉
app.run(args);
}
}啟動(dòng)后,控制臺(tái)就沒(méi)有相關(guān)的 banner 信息了:

到此這篇關(guān)于SpringBoot自定義啟動(dòng)畫(huà)面的方法詳解的文章就介紹到這了,更多相關(guān)SpringBoot自定義啟動(dòng)畫(huà)面內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Jvm?sandbox?mock機(jī)制的實(shí)踐過(guò)程
這篇文章主要介紹了Jvm?sandbox?mock機(jī)制的實(shí)踐過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-05-05
Java如何實(shí)現(xiàn)可折疊Panel方法示例
這篇文章主要給大家介紹了關(guān)于利用Java如何實(shí)現(xiàn)可折疊Panel的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-07-07
Java8新特性O(shè)ptional類(lèi)及新時(shí)間日期API示例詳解
這篇文章主要為大家介紹了Java8新特性O(shè)ptional類(lèi)及新時(shí)間日期API示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11
Reactor3 Map與FlatMap的區(qū)別示例詳解
這篇文章主要為大家介紹了Reactor3 Map與FlatMap的區(qū)別示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08
Java連接合并2個(gè)數(shù)組(Array)的5種方法例子
最近在寫(xiě)代碼時(shí)遇到了需要合并兩個(gè)數(shù)組的需求,突然發(fā)現(xiàn)以前沒(méi)用過(guò),于是研究了一下合并數(shù)組的方式,這篇文章主要給大家介紹了關(guān)于Java連接合并2個(gè)數(shù)組(Array)的5種方法,需要的朋友可以參考下2023-12-12

