spring boot 配置 banner 启动画面无需额外依赖,支持自定义 banner.txt 文本(含占位符与 ansi 颜色)、指定非默认文件路径、图片转 ascii(优先级 gif>jpg>png),并可通过 spring.main.banner-mode 控制显示模式(console/log/off)。

在 Spring Boot 中配置 Banner 启动画面,核心是控制启动时显示的 ASCII 文本或图像内容。它不依赖额外依赖,开箱即用,只需按规范放置文件或调整配置即可。
自定义文本 Banner(最常用)
Spring Boot 默认会查找 classpath 下的 banner.txt 文件,并将其内容渲染为启动画面。
- 把文件放在
src/main/resources/banner.txt路径下(确保编译后位于 classpath 根目录) - 内容支持纯文本、ASCII 艺术字、占位符变量(如
${application.version}、${spring-boot.version}) - 可使用 ANSI 颜色控制样式,例如:
${AnsiColor.GREEN}MyApp v${application.version}${AnsiColor.DEFAULT} - 推荐用在线工具生成字符画,比如 patorjk.com/taag,选 “Standard” 或 “Small Slant” 字体更兼容
指定非默认 Banner 文件名或路径
不想用 banner.txt?可通过配置指定其他文件:
- 在
application.properties中写:spring.main.banner-file=classpath:my-banner.txt - 或在
application.yml中写:spring:<br> main:<br> banner-file: classpath:my-banner.txt
- 注意:该路径必须是 classpath 下可访问的资源,且编码建议为 UTF-8(避免乱码)
用图片生成 Banner(自动转 ASCII)
Spring Boot 支持将图片(.gif、.jpg、.png)自动转为 ASCII 字符画显示:
- 把图片放入
src/main/resources/banner.png(或banner.jpg、banner.gif) - 默认优先级:gif > jpg > png;若多个同名存在,只读取优先级最高的一个
- 也可显式指定位置:
spring.banner.image.location=classpath:logo.png - 图片建议简洁、高对比度、无复杂渐变——否则转出的 ASCII 效果可能模糊或失真
控制 Banner 显示行为
是否显示、在哪里显示,由 spring.main.banner-mode 控制:
-
console(默认):输出到控制台 -
log:输出到日志(INFO 级别,记录在org.springframework.boot.SpringApplication) -
off:完全关闭 Banner
设置方式任选其一:
-
application.properties:spring.main.banner-mode=off -
application.yml:spring:<br> main:<br> banner-mode: off
- 启动类中代码控制:
SpringApplication app = new SpringApplication(App.class);<br>app.setBannerMode(Banner.Mode.OFF);<br>app.run(args);











