Java精選面試題(微信小程序):5000+道面試題和選擇題,包含Java基礎(chǔ)、并發(fā)、JVM、線程、MQ系列、Redis、Spring系列、Elasticsearch、Docker、K8s、Flink、Spark、架構(gòu)設(shè)計(jì)、大廠真題等,在線隨時(shí)刷題!
1、什么是 banner.txt?
當(dāng)你啟動 Spring Boot 應(yīng)用時(shí),控制臺會打印出一個(gè)默認(rèn)的 Spring Boot Banner(比如啟動LOGO)。這個(gè)內(nèi)容來自resources目錄下的banner.txt文件。你可以通過這個(gè)文件自定義你想展示的 ASCII 圖案、版本號、提示文字等。
2、創(chuàng)建或修改 banner.txt 2.1、文件位置:
在你的 Spring Boot 項(xiàng)目中,進(jìn)入src/main/resources目錄下,新建或編輯:
src/main/resources/banner.txt
2.2. 內(nèi)容示例(純色風(fēng)格 + 啟動信息):
=========================================== == AbsWeb 啟動成功! == == 端口:${server.port} == == 環(huán)境:${spring.profiles.active} == == 時(shí)間:${date} == ===========================================你可以使用 Spring Boot 提供的一些占位符變量:
占位符
描述
${application.version}
項(xiàng)目的 MANIFEST.MF 版本
${application.formatted-version}
格式化版本號
${spring-boot.version}
Spring Boot 版本
${server.port}
當(dāng)前端口號
${spring.profiles.active}
當(dāng)前激活的配置環(huán)境
${date}
啟動時(shí)間
${AnsiColor.NAME}
控制臺顏色(如 GREEN、RED)
3、加點(diǎn)顏色和風(fēng)格(可選)
Spring Boot 支持 ANSI 顏色,在支持的終端中會顯示彩色效果:
${AnsiColor.BRIGHT_CYAN} =========================================== == AbsWeb 啟動成功! == == 端口:${server.port} == == 環(huán)境:${spring.profiles.active} == == 時(shí)間:${date} == =========================================== ${AnsiColor.DEFAULT}4、啟動測試啟動項(xiàng)目時(shí),你會看到類似輸出:
=========================================== == AbsWeb 啟動成功! == == 端口:8082 == == 環(huán)境:test == == 時(shí)間:2025-06-13 16:52:10 == ===========================================提供幾個(gè)網(wǎng)站可以自己去生成圖案:
https://patorjk.com/software/taag/
https://ascii.co.uk/art
https://fsymbols.com/generators/carty/
1、禁用 Spring Boot 的默認(rèn) banner:
在你的配置文件(如application.yml或application.properties)中添加:
yml文件:
spring: main: banner-mode: "off"properties文件:
spring.main.banner-mode=off2、自定義啟動打印代碼在主啟動類中添加一個(gè)打印方法,利用ANSI轉(zhuǎn)義碼輸出彩色字符:
public class AbsWebApplication { private static final String RESET = "\u001B[0m"; private static final String CYAN = "\u001B[36m"; private static final String BLUE = "\u001B[34m"; private static final String PURPLE = "\u001B[35m"; private static final String WHITE = "\u001B[37m"; public static void main(String[] args) { SpringApplication.run(AbsWebApplication.class, args); printBanner(); } private static void printBanner() { System.out.println(); System.out.println(CYAN + "╔════════════════════════════════════════════╗" + RESET); System.out.println(CYAN + "║" + BLUE + " █████╗ ██████╗ ███████╗ ██████╗ ██╗ ██╗ " + CYAN + "║" + RESET); System.out.println(CYAN + "║" + BLUE + " ██╔══██╗██╔══██╗██╔════╝██╔═══██╗██║ ██╔╝ " + CYAN + "║" + RESET); System.out.println(CYAN + "║" + BLUE + " ███████║██████╔╝█████╗ ██║ ██║█████╔╝ " + CYAN + "║" + RESET); System.out.println(CYAN + "║" + BLUE + " ██╔══██║██╔═══╝ ██╔══╝ ██║ ██║██╔═██╗ " + CYAN + "║" + RESET); System.out.println(CYAN + "║" + BLUE + " ██║ ██║██║ ███████╗╚██████╔╝██║ ██╗ " + CYAN + "║" + RESET); System.out.println(CYAN + "║" + BLUE + " ╚═╝ ╚═╝╚═╝ ╚══════╝ ╚═════╝ ╚═╝ ╚═╝ " + CYAN + "║" + RESET); System.out.println(CYAN + "║ ║" + RESET); System.out.println(CYAN + "║ " + WHITE + ">>> AbsWeb Application 啟動成功 <<<" + CYAN + " ║" + RESET); System.out.println(CYAN + "║ " + PURPLE + "版本: v2.6.13 時(shí)間: " + WHITE + java.time.LocalTime.now() + CYAN + " ║" + RESET); System.out.println(CYAN + "╚════════════════════════════════════════════╝" + RESET); System.out.println(); } }輸出結(jié)果如下:
![]()
下面多提供幾個(gè)圖案:
public class AbsWebApplication { private static final String RESET = "\u001B[0m"; private static final String CYAN = "\u001B[36m"; private static final String MAGENTA = "\u001B[35m"; private static final String BLUE = "\u001B[34m"; private static final String YELLOW = "\u001B[33m"; public static void main(String[] args) { SpringApplication.run(AbsWebApplication.class, args); printBanner(); } private static void printBanner() { System.out.println(); System.out.println(MAGENTA + "╔══════════════════════════════════════════════════╗" + RESET); System.out.println(MAGENTA + "║ ║" + RESET); System.out.println(MAGENTA + "║ " + CYAN + "██████╗ █████╗ ██████╗ ██████╗ ██╗ ██╗ " + MAGENTA + "║" + RESET); System.out.println(MAGENTA + "║ " + CYAN + "██╔══██╗██╔══██╗██╔══██╗██╔═══██╗██║ ██╔╝ " + MAGENTA + "║" + RESET); System.out.println(MAGENTA + "║ " + BLUE + "██████╔╝███████║██████╔╝██║ ██║██║ ██╔╝ " + MAGENTA + "║" + RESET); System.out.println(MAGENTA + "║ " + BLUE + "██╔═══╝ ██╔══██║██╔═══╝ ██║ ██║██║ ╚═╝ " + MAGENTA + "║" + RESET); System.out.println(MAGENTA + "║ " + YELLOW + "██║ ██║ ██║██║ ╚██████╔╝███████╗ " + MAGENTA + "║" + RESET); System.out.println(MAGENTA + "║ " + YELLOW + "╚═╝ ╚═╝ ╚═╝╚═╝ ╚═════╝ ╚══════╝ " + MAGENTA + "║" + RESET); System.out.println(MAGENTA + "║ ║" + RESET); System.out.println(MAGENTA + "║ " + CYAN + ">>> AbsWeb Application 啟動成功 <<< " + MAGENTA + "║" + RESET); System.out.println(MAGENTA + "║ " + CYAN + "版本: v2.6.13 時(shí)間: " + java.time.LocalTime.now() + " " + MAGENTA + "║" + RESET); System.out.println(MAGENTA + "║ ║" + RESET); System.out.println(MAGENTA + "╚══════════════════════════════════════════════════╝" + RESET); System.out.println(); } } public class AbsWebApplication { private static final String RESET = "\u001B[0m"; private static final String RED = "\u001B[31m"; private static final String GREEN = "\u001B[32m"; private static final String BLUE = "\u001B[34m"; private static final String PURPLE = "\u001B[35m"; private static final String YELLOW = "\u001B[33m"; public static void main(String[] args) { SpringApplication.run(AbsWebApplication.class, args); printBanner(); } private static void printBanner() { System.out.println(); System.out.println(PURPLE + "╔══════════════════════════╗" + RESET); System.out.println(PURPLE + "║ " + RED + "▂▃▅▇█ AbsWeb啟動成功 █▇▅▃▂" + PURPLE + " ║" + RESET); System.out.println(PURPLE + "║ " + GREEN + "Version: v2.6.13" + " " + PURPLE + "║" + RESET); System.out.println(PURPLE + "║ " + BLUE + "Time: " + java.time.LocalTime.now() + " " + PURPLE + "║" + RESET); System.out.println(PURPLE + "╚══════════════════════════╝" + RESET); System.out.println(); } }自己也可以讓AI去生成。
實(shí)現(xiàn)啟動成功后的彩色提示
public class AbsWebApplication { public static void main(String[] args) { SpringApplication.run(AbsWebApplication.class, args); printStartupMessage(); } private static void printStartupMessage() { String reset = "\u001B[0m"; String red = "\u001B[31m"; String yellow = "\u001B[33m"; String green = "\u001B[32m"; String cyan = "\u001B[36m"; String magenta = "\u001B[35m"; String blue = "\u001B[34m"; System.out.println(cyan + " (\\_/) " + reset); System.out.println(cyan + " ( ?_?) " + reset + red + " AbsWebApplication 啟動成功!" + reset); System.out.println(cyan + " / > " + reset + yellow + " 祝你今天工作順利,項(xiàng)目無BUG~" + reset); System.out.println(); System.out.println(magenta + " ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓" + reset); System.out.println(magenta + " ┃ 歡迎使用 AbsWeb! ┃" + reset); System.out.println(magenta + " ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛" + reset); } }啟動后示例:
![]()
下面提供幾個(gè)示例:
放進(jìn)方法進(jìn)行替換就行了。
final String PURPLE = "\u001B[35m"; final String RED = "\u001B[31m"; final String RESET = "\u001B[0m"; System.out.println(PURPLE + " .----. .----. " + RESET); System.out.println(PURPLE + " / \\/ \\" + RESET); System.out.println(RED + " | (?) (?) | " + RESET); System.out.println(PURPLE + " | < | " + RESET); System.out.println(PURPLE + " \\ --' / " + RESET); System.out.println(PURPLE + " `--------' " + RESET); System.out.println(RED + " AbsWeb 已啟動!" + RESET); public static void printTechWave() { final String RESET = "\u001B[0m"; final String BLUE = "\u001B[34m"; final String CYAN = "\u001B[36m"; final String PURPLE = "\u001B[35m"; final String WHITE = "\u001B[37m"; System.out.println(CYAN + "╔════════════════════════════════════════════╗" + RESET); System.out.println(CYAN + "║" + BLUE + " ██╗ ██╗████████╗██╗ ██╗███████╗ " + CYAN + "║" + RESET); System.out.println(CYAN + "║" + BLUE + " ██║ ██║╚══██╔══╝██║ ██║██╔════╝ " + CYAN + "║" + RESET); System.out.println(CYAN + "║" + BLUE + " ██║ ██║ ██║ ██║ ██║█████╗ " + CYAN + "║" + RESET); System.out.println(CYAN + "║" + BLUE + " ██║ ██║ ██║ ██║ ██║██╔══╝ " + CYAN + "║" + RESET); System.out.println(CYAN + "║" + BLUE + " ╚██████╔╝ ██║ ╚██████╔╝███████╗ " + CYAN + "║" + RESET); System.out.println(CYAN + "║" + BLUE + " ╚═════╝ ╚═╝ ╚═════╝ ╚══════╝ " + CYAN + "║" + RESET); System.out.println(CYAN + "║ ║" + RESET); System.out.println(PURPLE + "║ AbsWeb Application 啟動成功! ║" + RESET); System.out.println(PURPLE + "║ Version: v2.6.13 " + WHITE + "啟動時(shí)間: " + java.time.LocalTime.now() + " " + PURPLE + " ║" + RESET); System.out.println(CYAN + "╚════════════════════════════════════════════╝" + RESET); }來源:https://blog.csdn.net/weixin_45677023
公眾號“Java精選”所發(fā)表內(nèi)容注明來源的,版權(quán)歸原出處所有(無法查證版權(quán)的或者未注明出處的均來自網(wǎng)絡(luò),系轉(zhuǎn)載,轉(zhuǎn)載的目的在于傳遞更多信息,版權(quán)屬于原作者。如有侵權(quán),請聯(lián)系,筆者會第一時(shí)間刪除處理!
最近有很多人問,有沒有讀者交流群!加入方式很簡單,公眾號Java精選,回復(fù)“加群”,即可入群!
文章有幫助的話,點(diǎn)在看,轉(zhuǎn)發(fā)吧!
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.