SpringBoot 的banner颜色
时间: 2025-02-24 17:37:16 浏览: 86
### 自定义 Spring Boot Banner 颜色
在 Spring Boot 应用程序中,默认情况下启动时会显示一个 ASCII 艺术风格的 banner。为了实现更个性化的体验,可以自定义这个 banner 并调整其颜色。
#### 使用 ANSI 控制字符设置颜色
由于 Spring Boot 支持 ANSI (American National Standards Institute) 字符来改变控制台输出的颜色,因此可以在自定义 banner 文件里加入这些特殊序列以更改文本色彩。具体来说:
- 文本颜色可以通过 `\u001B[3Xm` 设置,其中 `X` 是代表不同颜色的数字。
- 背景颜色则是通过 `\u001B[4Xm` 定义。
- 若要重置样式回到默认状态,则应使用 `\u001B[0m` 结束标记[^2]。
例如,要创建带有红色字体和绿色背景的文字效果,可编写如下内容到 banner.txt 文件内:
```
${AnsiColor.RED}Hello ${AnsiColor.GREEN}World!${AnsiColor.DEFAULT}
```
需要注意的是 `${AnsiColor.COLOR}` 这种形式是在 application.properties 或 .yml 文件中的占位符写法;而在纯文本文件中应当直接写出完整的 Unicode 编码字符串如上面所示[^4]。
对于那些希望进一步简化操作的人而言,在 Java 类内部也可以动态生成带颜色编码的内容并将其作为 banner 输出给终端用户查看。这通常涉及到覆写 `org.springframework.boot.Banner.Printer.printBanner()` 方法或是利用 `SpringApplication.setBanner(Banner)` 函数传入实现了相应接口的对象实例[^5]。
```java
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class MyApplication {
public static void main(String[] args) {
SpringApplication app = new SpringApplication(MyApplication.class);
String customBannerWithColors =
"\u001B[31m" + " _____ _ \n" +
" / ____| | \n" +
"| | | |__ ___ _ __ \n" +
"| | | '_ \\ / _ \\| '__|\n" +
"| |____| | | | (_) | |_ \n" +
" \\_____|_| |_|\\___/|_(_) \n" +
"\u001B[0m";
app.setBanner((env, sourceClass, out) -> System.out.println(customBannerWithColors));
app.run(args);
}
}
```
上述代码片段展示了如何构建一个多行彩色艺术字样的 banner,并且指定了当应用程序初始化期间执行此特定行为逻辑。
阅读全文
相关推荐















