文章目录
前言
要自定义 Spring Boot 启动时显示的图案,你可以修改或创建一个自定义的 Banner。Spring Boot 允许你在启动时显示 ASCII 艺术图案或文本。
一、创建自定义 Banner
1. 创建 banner.txt 文件
- 在
src/main/resources
目录下创建一个名为banner.txt
的文件。Spring Boot
会自动加载这个文件并在启动时显示其内容。
2. 设计你的 Banner
- 你可以使用
ASCII 艺术生成器
(如 ASCII在线生成器)来设计你想要的图案或文本。 - 示例
banner.txt
内容(可以使用 ANSI 转义码来设置颜色):
/$$ /$$ /$$$$$$ /$$ /$$ /$$$$$$ /$$ /$$ /$$$$$$ /$$$$$$$ /$$$$$$$ /$$$$$$ /$$ /$$ /$$ /$$
| $$ | $$ /$$__ $$| $$ | $$ /$$__ $$ | $$$ | $$ /$$__ $$ | $$__ $$| $$__ $$|_ $$_/| $$$ | $$| $$ /$$/
| $$ | $$| $$ \ $$| $$ | $$| $$ \ $$ | $$$$| $$| $$ \ $$ | $$ \ $$| $$ \ $$ | $$ | $$$$| $$| $$ /$$/
| $$$$$$$$| $$ | $$| $$$$$$$$| $$ | $$ | $$ $$ $$| $$ | $$ | $$ | $$| $$$$$$$/ | $$ | $$ $$ $$| $$$$$/
| $$__ $$| $$ | $$| $$__ $$| $$ | $$ | $$ $$$$| $$ | $$ | $$ | $$| $$__ $$ | $$ | $$ $$$$| $$ $$
| $$ | $$| $$ | $$| $$ | $$| $$ | $$ | $$\ $$$| $$ | $$ | $$ | $$| $$ \ $$ | $$ | $$\ $$$| $$\ $$
| $$ | $$| $$$$$$/| $$ | $$| $$$$$$/ | $$ \ $$| $$$$$$/ | $$$$$$$/| $$ | $$ /$$$$$$| $$ \ $$| $$ \ $$
|__/ |__/ \______/ |__/ |__/ \______/ |__/ \__/ \______/ |_______/ |__/ |__/|______/|__/ \__/|__/ \__/
3.启用 Banner 自定义
将设计好的 banner.txt
文件放置在 src/main/resources
目录下。Spring Boot 会自动检测到这个文件并在启动时显示内容。
二、使用 Java 代码动态生成 Banner
如果你需要动态生成 Banner,可以在 Spring Boot 中使用 Java 代码自定义 Banner。
1. 创建自定义 Banner 类
- 创建一个实现 Banner 接口的类。
import org.springframework.boot.Banner;
import org.springframework.core.env.Environment;
import java.io.PrintStream;
public class CustomBanner implements Banner {
@Override
public void printBanner(Environment environment, Class<?> sourceClass, PrintStream out) {
out.println("\u001B[34m"); // 设置文本颜色为蓝色
out.println(" /$$ /$$ /$$$$$$ /$$ /$$ /$$$$$$ /$$ /$$ /$$$$$$ /$$$$$$$ /$$$$$$$ /$$$$$$ /$$ /$$ /$$ /$$\n" +
"| $$ | $$ /$$__ $$| $$ | $$ /$$__ $$ | $$$ | $$ /$$__ $$ | $$__ $$| $$__ $$|_ $$_/| $$$ | $$| $$ /$$/\n" +
"| $$ | $$| $$ \\ $$| $$ | $$| $$ \\ $$ | $$$$| $$| $$ \\ $$ | $$ \\ $$| $$ \\ $$ | $$ | $$$$| $$| $$ /$$/\n" +
"| $$$$$$$$| $$ | $$| $$$$$$$$| $$ | $$ | $$ $$ $$| $$ | $$ | $$ | $$| $$$$$$$/ | $$ | $$ $$ $$| $$$$$/\n" +
"| $$__ $$| $$ | $$| $$__ $$| $$ | $$ | $$ $$$$| $$ | $$ | $$ | $$| $$__ $$ | $$ | $$ $$$$| $$ $$\n" +
"| $$ | $$| $$ | $$| $$ | $$| $$ | $$ | $$\\ $$$| $$ | $$ | $$ | $$| $$ \\ $$ | $$ | $$\\ $$$| $$\\ $$\n" +
"| $$ | $$| $$$$$$/| $$ | $$| $$$$$$/ | $$ \\ $$| $$$$$$/ | $$$$$$$/| $$ | $$ /$$$$$$| $$ \\ $$| $$ \\ $$\n" +
"|__/ |__/ \\______/ |__/ |__/ \\______/ |__/ \\__/ \\______/ |_______/ |__/ |__/|______/|__/ \\__/|__/ \\__/\n" +
"\n");
out.println("\u001B[0m"); // 重置文本颜色
}
}
2. 注册自定义 Banner
- 在主应用类中设置你的自定义 Banner。
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);
app.setBanner(new CustomBanner()); // 设置自定义 Banner
app.run(args);
}
}
三、 使用 Spring Boot 的 BannerMode
Spring Boot 允许你通过 BannerMode 来控制 Banner 的显示状态(如 OFF
, CONSOLE
, LOG
)。
application.yml文件配置:
spring:
main:
banner-mode: console
四、运行结果
总结
自定义 Spring Boot 启动图案可以通过简单的 banner.txt 文件实现,也可以通过 Java 代码来动态生成更复杂的 Banner。选择适合你需求的方法来增强项目的启动界面。