spring boot 提供五种 banner 自定义方式:①文本文件(banner.txt,支持占位符);②图片转 ascii(banner.png/jpg);③配置控制显示模式(off/console/log);④编码与尺寸配置;⑤编程实现 banner 接口动态生成。

Spring Boot 启动时默认会显示 ASCII 艺术字组成的 Banner,你可以通过几种简单方式自定义它,包括文本、图片或完全关闭。
使用文本文件自定义 Banner
在 src/main/resources/ 目录下创建一个名为 banner.txt 的文件,内容为你想要的 ASCII 图案。Spring Boot 启动时会自动加载并显示它。
小技巧:
- 可以用在线工具(如 http://patorjk.com/software/taag/)生成 ASCII 文本,复制粘贴进 banner.txt
- 支持占位符,例如
${application.version}、${spring-boot.version},它们会在启动时被自动替换 - 如果 banner.txt 编码不是 UTF-8,可能显示乱码,建议用 UTF-8 保存
用图片生成 Banner(自动转 ASCII)
把一张 PNG 或 JPG 图片放在 src/main/resources/ 下,命名为 banner.png 或 banner.jpg。Spring Boot 会自动将其转换为 ASCII 风格的启动图。
注意点:
- 推荐尺寸:宽 ≥ 76 字符,高适中(过高会导致启动日志过长)
- 颜色越少、对比越强,转换效果越清晰
- 默认使用黑白模式;如需彩色,需在配置中开启:
spring.main.banner-mode=console并确保终端支持 ANSI 颜色
通过配置控制 Banner 行为
在 application.properties 或 application.yml 中调整 Banner 显示方式:
-
spring.main.banner-mode=off—— 完全关闭 Banner -
spring.main.banner-mode=console—— 输出到控制台(默认) -
spring.main.banner-mode=log—— 输出到日志(INFO 级别) -
spring.banner.charset=UTF-8—— 指定 banner.txt 编码 -
spring.banner.image.width=76—— 设置图片 Banner 宽度(字符数)
编程方式动态生成 Banner
实现 org.springframework.boot.Banner 接口,重写 printBanner() 方法,然后在 SpringApplication 中设置:
Java 示例:
SpringApplication app = new SpringApplication(MyApp.class); app.setBanner(new MyCustomBanner()); // 自定义实现类 app.run(args);
这种方式适合需要运行时决定 Banner 内容的场景,比如根据环境变量或配置动态输出不同图案。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











