Java精选面试题(微信小程序):5000+道面试题和选择题,包含Java基础、并发、JVM、线程、MQ系列、Redis、Spring系列、Elasticsearch、Docker、K8s、Flink、Spark、架构设计、大厂真题等,在线随时刷题!
1、什么是 banner.txt?
当你启动 Spring Boot 应用时,控制台会打印出一个默认的 Spring Boot Banner(比如启动LOGO)。这个内容来自 resources 目录下的 banner.txt 文件。你可以通过这个文件自定义你想展示的 ASCII 图案、版本号、提示文字等。
2、创建或修改 banner.txt
2.1、文件位置:
在你的 Spring Boot 项目中,进入 src/main/resources 目录下,新建或编辑:
src/main/resources/banner.txt
2.2. 内容示例(纯色风格 + 启动信息):
===========================================
== AbsWeb 启动成功! 🚀 ==
== 端口:${server.port} ==
== 环境:${spring.profiles.active} ==
== 时间:${date} ==
===========================================你可以使用 Spring Boot 提供的一些占位符变量:
占位符 | 描述 |
|---|---|
${application.version} | 项目的 MANIFEST.MF 版本 |
${application.formatted-version} | 格式化版本号 |
${spring-boot.version} | Spring Boot 版本 |
${server.port} | 当前端口号 |
${spring.profiles.active} | 当前激活的配置环境 |
${date} | 启动时间 |
${AnsiColor.NAME} | 控制台颜色(如 GREEN、RED) |
3、加点颜色和风格(可选)
Spring Boot 支持 ANSI 颜色,在支持的终端中会显示彩色效果:
${AnsiColor.BRIGHT_CYAN}
===========================================
== AbsWeb 启动成功! 🚀 ==
== 端口:${server.port} ==
== 环境:${spring.profiles.active} ==
== 时间:${date} ==
===========================================
${AnsiColor.DEFAULT}4、启动测试
启动项目时,你会看到类似输出:
===========================================
== AbsWeb 启动成功! 🚀 ==
== 端口:8082 ==
== 环境:test ==
== 时间:2025-06-13 16:52:10 ==
===========================================提供几个网站可以自己去生成图案:
https://patorjk.com/software/taag/
https://ascii.co.uk/art
https://fsymbols.com/generators/carty/
进阶方式:关闭默认 Banner,自定义 Java 启动内容
1、禁用 Spring Boot 的默认 banner:
在你的配置文件(如 application.yml 或 application.properties)中添加:
yml文件:
spring:
main:
banner-mode: "off"properties文件:
spring.main.banner-mode=off2、自定义启动打印代码
在主启动类中添加一个打印方法,利用ANSI转义码输出彩色字符:
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 时间: " + WHITE + java.time.LocalTime.now() + CYAN + " ║" + RESET);
System.out.println(CYAN + "╚════════════════════════════════════════════╝" + RESET);
System.out.println();
}
}输出结果如下:


下面多提供几个图案:
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 时间: " + 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去生成。
实现启动成功后的彩色提示
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 + " 祝你今天工作顺利,项目无BUG~" + reset);
System.out.println();
System.out.println(magenta + " ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓" + reset);
System.out.println(magenta + " ┃ 🎉 欢迎使用 AbsWeb!🎉 ┃" + reset);
System.out.println(magenta + " ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛" + reset);
}
}启动后示例:


下面提供几个示例:
放进方法进行替换就行了。
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 + "启动时间: " + java.time.LocalTime.now() + " " + PURPLE + " ║" + RESET);
System.out.println(CYAN + "╚════════════════════════════════════════════╝" + RESET);
}来源:https://blog.youkuaiyun.com/weixin_45677023
公众号“Java精选”所发表内容注明来源的,版权归原出处所有(无法查证版权的或者未注明出处的均来自网络,系转载,转载的目的在于传递更多信息,版权属于原作者。如有侵权,请联系,笔者会第一时间删除处理!
最近有很多人问,有没有读者交流群!加入方式很简单,公众号Java精选,回复“加群”,即可入群!
点击“阅读原文”,了解更多精彩内容!文章有帮助的话,点在看,转发吧!

被折叠的 条评论
为什么被折叠?



