news 2026/5/28 13:01:15

SpringBoot自定义启动banner:给项目加个专属“开机画面”

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SpringBoot自定义启动banner:给项目加个专属“开机画面”
  • SpringBoot自定义启动banner:给项目加个专属“开机画面”
    • 最简单的方式:自定义txt文件
      • 步骤1:创建banner.txt文件
      • 步骤2:写自定义内容
      • 步骤3:启动项目看效果
    • 进阶玩法:用字符画生成器
    • 额外技巧:控制banner的显示和位置
      • 1. 关闭banner
        • 方式1:配置文件关闭
        • 方式2:代码里关闭
      • 2. 自定义banner文件的位置和名称
      • 3. 用代码动态生成banner

SpringBoot自定义启动banner:给项目加个专属“开机画面”

刚学SpringBoot的时候,每次启动项目,控制台都会跳出默认的SpringBoot logo和版本信息,看久了总觉得少点意思。后来发现原来这个启动画面(也就是banner)是可以自定义的,花几分钟改一改,既能加项目名称、版本,甚至还能加些有趣的字符画,瞬间让自己的项目有了专属感。今天就聊聊怎么自定义SpringBoot的启动banner,步骤超简单,新手也能跟着做。

先说说默认的banner长啥样,启动SpringBoot项目时,控制台会输出这样的内容:

. ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.7.0)

这个就是默认banner,我们要做的就是替换掉它,换成自己想要的内容。

最简单的方式:自定义txt文件

SpringBoot默认会读取resources目录下的banner.txt文件作为启动画面,只要创建这个文件,写点自己的内容,启动项目时就会自动替换默认banner。

步骤1:创建banner.txt文件

在项目的src/main/resources目录下,新建一个名为banner.txt的文件(名字必须是banner.txt,不然SpringBoot识别不到)。

步骤2:写自定义内容

可以直接写文字,比如项目名称、版本、开发者信息,也可以加些字符画。比如我写了这样的内容:

=============================== 项目名称:MySpringBootDemo 版本号:v1.0.0 开发者:自己 =============================== ██████ ██████ ███ ██ ██ ██ ███████ ██ ██ ██ ████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██████ ██ ████ ████ ███████ =============================== :: Spring Boot :: (v${spring-boot.version})

这里有几个小技巧:

  • ${spring-boot.version}:可以自动获取当前SpringBoot的版本号,不用手动写死;
  • ${AnsiColor.BRIGHT_GREEN}:设置文字颜色,比如亮绿色,控制台显示更醒目;

步骤3:启动项目看效果

启动SpringBoot项目,控制台就会输出我们写的banner内容,不再是默认的SpringBoot logo了。

进阶玩法:用字符画生成器

如果想搞点有趣的字符画,不用自己手动敲,网上有很多字符画生成工具,比如:

  • patorjk.com/software/taag/(可以把文字转成字符画)
  • asciiart.eu/(有各种现成的字符画)

比如我想把“MYPROJECT”转成字符画,在taag工具里选个字体,生成后复制到banner.txt里就行。生成的字符画示例:

__ __ ______ ______ __ __ /\ \/ / /\ ___\ /\ __ \ /\ \ /\ \ \ \ _"-. \ \ __\ \ \ __ \ \ \ \ \ \ \ \ \_\ \_\ \ \_____\ \ \_\ \_\ \ \_\ \ \_\ \/_/\/_/ \/_____/ \/_/\/_/ \/_/ \/_/

把这段复制到banner.txt,启动项目就能看到专属的字符画banner了。

额外技巧:控制banner的显示和位置

1. 关闭banner

如果不想显示任何banner,也很简单,有两种方式:

方式1:配置文件关闭

application.properties里加一行配置:

spring.main.banner-mode=off

或者在application.yml里:

spring:main:banner-mode:off
方式2:代码里关闭

在启动类的main方法里,用SpringApplicationBuilder设置:

importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;importorg.springframework.boot.builder.SpringApplicationBuilder;@SpringBootApplicationpublicclassMySpringBootDemoApplication{publicstaticvoidmain(String[]args){// 关闭bannernewSpringApplicationBuilder(MySpringBootDemoApplication.class).bannerMode(org.springframework.boot.Banner.Mode.OFF).run(args);// 也可以用简洁写法:// SpringApplication app = new SpringApplication(MySpringBootDemoApplication.class);// app.setBannerMode(Banner.Mode.OFF);// app.run(args);}}

2. 自定义banner文件的位置和名称

如果不想把文件叫banner.txt,或者想放在其他目录,比如resources/banner/my-banner.txt,可以在配置文件里指定路径:

# 指定自定义banner文件的位置 spring.banner.location=classpath:banner/my-banner.txt

也可以用图片作为banner(比如banner.png、banner.jpg),SpringBoot会自动把图片转成字符画显示,不过效果不如纯文本的好,感兴趣的可以试试。

3. 用代码动态生成banner

如果想更灵活,比如根据环境(开发/生产)显示不同的banner,还能通过代码动态生成。创建一个实现Banner接口的类:

importorg.springframework.boot.Banner;importorg.springframework.core.env.Environment;importjava.io.PrintStream;publicclassCustomBannerimplementsBanner{@OverridepublicvoidprintBanner(Environmentenvironment,Class<?>sourceClass,PrintStreamout){// 动态输出banner内容out.println("================================");out.println(" 环境:"+environment.getProperty("spring.profiles.active"));out.println(" 项目启动成功!");out.println("================================");}}

然后在启动类里指定使用这个自定义banner:

@SpringBootApplicationpublicclassMySpringBootDemoApplication{publicstaticvoidmain(String[]args){SpringApplicationapp=newSpringApplication(MySpringBootDemoApplication.class);// 使用自定义的Banner类app.setBanner(newCustomBanner());app.run(args);}}

这样启动时就会输出我们动态生成的内容,还能读取配置文件里的环境变量,适配不同环境的显示需求。

其实自定义banner就是个小技巧,不影响项目功能,但能让自己的项目更有辨识度。我平时做个人项目时,都会加个简单的自定义banner,启动时看到自己写的内容,还挺有成就感的。而且步骤特别简单,不管是写文字、字符画,还是动态生成,几分钟就能搞定,新手也能轻松上手。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/20 23:49:42

看完就想试!用SenseVoiceSmall生成带表情的字幕

看完就想试&#xff01;用SenseVoiceSmall生成带表情的字幕 1. 为什么普通字幕不够用了&#xff1f; 你有没有遇到过这样的情况&#xff1a;剪辑一段访谈视频&#xff0c;字幕只显示“他说了什么”&#xff0c;却完全看不出说话人是笑着调侃、严肃质问&#xff0c;还是突然被…

作者头像 李华
网站建设 2026/5/23 14:37:58

电脑黑屏闪屏白屏,电脑闪烁,电脑放视频闪来闪去问题修复

黑屏闪屏一般指电脑显示器上的显示问题&#xff0c;电脑在运行过程中&#xff0c;屏幕画面出现闪烁或不规则闪动&#xff0c;有时会出现横条线和竖条线。闪屏和雪花屏主要是显卡的问题造成的&#xff0c;雪花屏类似电视的雪花屏&#xff0c;闪屏就像显卡驱动有问题那样&#xf…

作者头像 李华
网站建设 2026/5/21 22:28:47

SGLang部署踩坑记录:这些错误千万别再犯

SGLang部署踩坑记录&#xff1a;这些错误千万别再犯 作为一款主打“结构化生成”和“高吞吐推理”的新兴框架&#xff0c;SGLang 在社区热度持续攀升。但热度背后&#xff0c;是大量开发者在首次部署时遭遇的意料之外的阻塞——明明文档写得清楚&#xff0c;命令也照着敲了&am…

作者头像 李华
网站建设 2026/5/21 10:14:59

Arduino Uno创意作品操作指南:音乐盒制作

以下是对您提供的博文《Arduino Uno创意作品操作指南&#xff1a;音乐盒制作——技术深度解析》的 全面润色与专业升级版 。本次优化严格遵循您的核心要求&#xff1a; ✅ 彻底去除AI痕迹 &#xff1a;全文以资深嵌入式教学博主口吻重写&#xff0c;语言自然、节奏松弛、有…

作者头像 李华
网站建设 2026/5/22 13:11:14

亲测Speech Seaco Paraformer镜像,实时录音识别效果惊艳

亲测Speech Seaco Paraformer镜像&#xff0c;实时录音识别效果惊艳 语音识别技术早已不是实验室里的概念&#xff0c;而是真正走进日常办公、会议记录、内容创作的实用工具。但很多用户反馈&#xff1a;要么识别不准、要么操作复杂、要么延迟高到无法实时使用。直到我试用了这…

作者头像 李华
网站建设 2026/5/20 15:11:04

5分钟上手Unsloth,零基础微调Qwen大模型实战指南

5分钟上手Unsloth&#xff0c;零基础微调Qwen大模型实战指南 1. 为什么是Unsloth&#xff1f;——不是又一个微调框架&#xff0c;而是“能跑起来”的答案 你是不是也经历过这些时刻&#xff1a; 看完一篇LLM微调教程&#xff0c;照着敲完代码&#xff0c;显存直接爆满&…

作者头像 李华