1. 简介
Spring Boot 有个让人印象不错的细节功能 —— 启动时的 Banner。多年来,这个功能不断进化,支持了多种自定义形式。比如从 Spring Boot 1.3 开始,就引入了对 ANSI 颜色的支持,允许我们在 banner.txt
中使用彩色文字和背景。
本文就来聊聊 Spring Boot 的彩色 Banner 功能,以及如何简单粗暴地用起来。
2. 修改背景色
想给 Spring Boot 的启动 Banner 加个背景色?很简单,只需要在 banner.txt
文件中,使用 AnsiBackground
类的常量前缀即可。
✅ 示例:把整个背景设为红色:
${AnsiBackground.RED}
___ _ _ _
/ __| ___ | | (_) __| |
\__ \ / _ \ | | | | / _` |
|___/ \___/ |_| |_| \__,_|
${AnsiBackground.DEFAULT}
⚠️ 注意:你可以在一个 Banner 里用多个背景色,完全没问题。
比如来个“彩虹背景”,每行换一个色:
${AnsiBackground.RED} ____ _ __
${AnsiBackground.BLUE} / __ \ ____ _ (_) ____ / /_ ____ _ __
${AnsiBackground.YELLOW} / /_/ / / __ `/ / / / __ \ / __ \ / __ \| | /| / /
${AnsiBackground.GREEN} / _, _/ / /_/ / / / / / / / / /_/ // /_/ /| |/ |/ /
${AnsiBackground.MAGENTA}/_/ |_| \__,_/ /_/ /_/ /_/ /_.___/ \____/ |__/|__/
${AnsiBackground.DEFAULT}
⚠️ 踩坑提醒:
Spring Boot 的日志输出会继承 Banner 最后设置的背景色。所以,强烈建议在 banner.txt
结尾重置为默认颜色,即加上 ${AnsiBackground.DEFAULT}
,否则你的日志可能一片花里胡哨,根本看不清。
3. 修改文字颜色
改文字颜色也一样简单,使用 AnsiColor
类即可。它提供了 RED、BLUE、GREEN 等常用颜色常量。
你可以对每一“段”文字分别设置颜色:
${AnsiColor.RED}.------.${AnsiColor.BLACK}.------.
${AnsiColor.RED}|A.--. |${AnsiColor.BLACK}|K.--. |
${AnsiColor.RED}| (\/) |${AnsiColor.BLACK}| (\/) |
${AnsiColor.RED}| :\/: |${AnsiColor.BLACK}| :\/: |
${AnsiColor.RED}| '--'A|${AnsiColor.BLACK}| '--'K|
${AnsiColor.RED}`------'${AnsiColor.BLACK}`------'
${AnsiColor.DEFAULT}
✅ 关键点:
- 颜色可以按字符片段设置,灵活控制
- 和背景色一样,**结尾务必加上
${AnsiColor.DEFAULT}
**,避免后续日志颜色错乱
4. 使用 ANSI 8 位色(256 色)
Spring Boot 2.2 引入了一个很实用的新特性:支持 ANSI 8 位色(即 256 色)。这意味着你不再局限于那几个“土味”预设色,可以指定更细腻的色调。
怎么用?AnsiColor
和 AnsiBackground
现在支持直接传数字(0-255):
${AnsiColor.1}${AnsiBackground.233} ______ __________ .___ ___________
${AnsiBackground.235} / __ \ \______ \| |\__ ___/
${AnsiBackground.237} > < | | _/| | | |
${AnsiBackground.239}/ -- \ | | \| | | |
${AnsiBackground.241}\______ / |______ /|___| |____|
${AnsiBackground.243} \/ \/
${AnsiBackground.DEFAULT}${AnsiColor.DEFAULT}
✅ 特性说明:
- 支持 256 色,编号 0~255,可查 ANSI 8-bit 色表
- 可混合使用:比如
${AnsiColor.RED}
和${AnsiColor.135}
可共存 - 背景和文字颜色可独立设置,互不影响
📌 小技巧:
深灰色背景常用 233~245
区间,文字用 1
(亮红)或 7
(白色)对比明显,适合做高逼格启动图。
5. 总结
通过本文,你应该已经掌握:
- ✅ 如何用
AnsiBackground
设置背景色 - ✅ 如何用
AnsiColor
控制文字颜色 - ✅ 如何使用 8 位色(256 色)实现更细腻的配色
- ⚠️ 必须在结尾重置颜色,避免污染日志输出
Spring Boot 的 Banner 不只是“装饰”,用得好还能提升团队开发体验,比如不同环境用不同颜色区分(DEV 红、UAT 蓝、PROD 绿),一启动就知道连的是哪个环境,省去翻配置的麻烦。
下次不妨试试,让你的应用启动更有“态度”。