Spring Boot 配置 Banner 有三种方式:文本文件(banner.txt)、图片文件(banner.gif/jpg/png)和编程式动态生成(实现 Banner 接口);支持变量占位符、ANSI 颜色、自定义路径与编码、图片渲染参数及日志输出等控制项。

Spring Boot 中配置 Banner 信息有三种主流方式:文本文件(最常用)、图片文件(自动转 ASCII)、编程式动态生成。核心逻辑是让启动时加载你指定的内容,无需改源码或引入额外依赖。
用 banner.txt 放纯文本 Logo
在 src/main/resources 目录下新建一个名为 banner.txt 的文件,保存为 UTF-8 编码。Spring Boot 启动时会自动识别并打印其中内容。
- 内容可以是 ASCII 艺术字(推荐用 patorjk.com 生成),也支持变量占位符,例如:
${application.formatted-version}(应用版本)、${spring-boot.version}(框架版本)、${AnsiColor.GREEN}Hello${AnsiColor.DEFAULT}(带颜色文字) - 如需换路径(比如放在
resources/banner/my-banner.txt),在application.properties中加:spring.banner.location=classpath:banner/my-banner.txt - 编码不是 UTF-8 时,可显式指定:
spring.banner.charset=UTF-8
用图片生成 ASCII Banner
把图片命名为 banner.gif、banner.jpg 或 banner.png,放入 src/main/resources 即可。Spring Boot 会自动将其渲染为字符画。
Java项目代码review工具。分析Git变更+完整调用链路上下文,推断业务需求,进行多维度评分和分类汇总,生成完整PRD文档。包含细粒度Java代码审查清单(Null安全、异常处理、Streams、并发、equals/hashCode、资源管理、API设计、性能、MyBatis/ORM、事务边界、SQL/DD...
- 优先级顺序:GIF > JPG > PNG(只要存在更高优先级的文件,低优先级的会被忽略)
- 自定义图片路径(如
resources/images/logo.png):spring.banner.image.location=classpath:images/logo.png - 控制渲染效果(单位为字符):
spring.banner.image.width=76spring.banner.image.height=32spring.banner.image.margin=2spring.banner.image.invert=false(设为 true 可反转黑白)
用代码动态生成 Banner
适合需要根据环境、配置中心、Git 提交 ID 或运行时状态生成不同 Banner 的场景。
- 写一个类实现
org.springframework.boot.Banner接口,重写printBanner方法,通过PrintStream输出任意字符串(支持换行、ANSI 颜色、读取Environment) - 在主类
main方法中显式设置:SpringApplication app = new SpringApplication(MyApp.class);app.setBanner(new CustomBanner());app.run(args);
其他常用控制项
这些配置能帮你微调 Banner 行为:
- 关闭 Banner:
spring.main.banner-mode=off(配置文件)
或代码中:app.setBannerMode(Banner.Mode.OFF) - 输出到日志而非控制台:
spring.main.banner-mode=log - 只禁用文本 Banner,保留图片 Banner:
不设spring.banner.location,但保留spring.banner.image.location

















