自定义 Spring Boot启动图案


前言

要自定义 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。选择适合你需求的方法来增强项目的启动界面。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值