java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > SpringBoot自定义Banner

SpringBoot项目中自定义Banner的技术指南

作者:拾荒的小海螺

在 Spring Boot 项目中,当应用启动时会显示默认的 Spring 标志和版本信息,定制化的启动 Banner 不仅可以美化应用,甚至可以提供一些关键信息,本文将介绍如何在 Spring Boot 项目中自定义启动 Banner,需要的朋友可以参考下

1、简述

在 Spring Boot 项目中,当应用启动时会显示默认的 Spring 标志和版本信息。定制化的启动 Banner 不仅可以美化应用,还能在项目中增加个性化的品牌印记,甚至可以提供一些关键信息。本文将介绍如何在 Spring Boot 项目中自定义启动 Banner,以及如何使用工具生成自定义文本和图像 Banner。

在这里插入图片描述

2、Spring Boot 默认 Banner

Spring Boot 默认的 Banner 位于 org/springframework/boot 包内的 spring-boot.jar 中。默认 Banner 只显示了 Spring 标志、版本和应用名称信息,效果如下:

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::  (v2.5.4)

3、自定义 Banner

Spring Boot 支持三种方式来定制 Banner:

3.1 使用 banner.txt 定义 ASCII Art

最简单的方法是创建一个 banner.txt 文件并放置在 src/main/resources 目录中。启动应用时,Spring Boot 会自动加载该文件内容并替代默认 Banner。

实践步骤:

例如,将生成的 Banner 粘贴到 banner.txt 中:

  ____            _         _   ____             _      
 | __ ) _   _ ___| |_ _   _| | | __ )  __ _  ___| | __  
 |  _ \| | | / __| __| | | | | |  _ \ / _` |/ __| |/ /  
 | |_) | |_| \__ \ |_| |_| | | | |_) | (_| | (__|   <   
 |____/ \__,_|___/\__|\__,_|_| |____/ \__,_|\___|_|\_\  

在 Spring Boot 启动时,将显示此自定义 ASCII 文本。

3.2 使用图片作为 Banner

Spring Boot 支持使用图片作为 Banner。图片文件的格式可以是 PNG、GIF 或 JPG,系统会在启动时将图片渲染成 ASCII 格式。具体支持的图片格式为黑白图像。

实践步骤:

图片生成推荐工具

可以使用 Image to ASCII 这类工具生成黑白图片,将其导出为 PNG 或 JPG 格式,并命名为 banner.png。

3.3 通过编程方式自定义 Banner

如果希望在启动过程中动态设置 Banner,还可以通过 Java 代码实现。实现 Banner 接口来自定义 Banner,并将其注册到 Spring Boot 应用中。

创建一个实现 org.springframework.boot.Banner 接口的类:

package com.example.demo;

import org.springframework.boot.Banner;
import org.springframework.core.env.Environment;
import org.springframework.stereotype.Component;

import java.io.PrintStream;

@Component
public class CustomBanner implements Banner {
    @Override
    public void printBanner(Environment environment, Class<?> sourceClass, PrintStream out) {
        out.println("=================================");
        out.println("   Welcome to My Spring Boot App ");
        out.println("=================================");
    }
}

在 SpringApplication 中设置自定义 Banner:

import org.springframework.boot.Banner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DemoApplication {
    public static void main(String[] args) {
        SpringApplication app = new SpringApplication(DemoApplication.class);
        app.setBanner(new CustomBanner());
        app.run(args);
    }
}

在启动应用时,将会显示 CustomBanner 中的内容。

4、配置 Banner

Spring Boot 允许在 application.properties 文件中设置 Banner 的显示位置和字体颜色。

4.1 设置 Banner 显示模式

可以通过 spring.main.banner-mode 属性来设置 Banner 的显示模式:

spring.main.banner-mode=console

4.2 设置字体颜色

要为 Banner 设置颜色,可以通过 ANSI 转义代码自定义字体颜色。例如:

${<!--{cke_protected}{C}%3C!%2D%2D%20%2D%2D%3E-->AnsiColor.RED}Welcome to My Spring Boot App${<!--{cke_protected}{C}%3C!%2D%2D%20%2D%2D%3E-->AnsiColor.DEFAULT}

将这段内容写入 banner.txt,即可在控制台中显示红色的文本。常用颜色代码:

注意: ANSI 颜色在部分控制台中可能不支持。

5、总结

以下是在 Spring Boot 项目中自定义 Banner 的完整操作步骤:

通过本文的方法,您可以为 Spring Boot 项目添加一个有趣的、个性化的启动画面,让您的应用更具特色。

到此这篇关于SpringBoot项目中自定义Banner的技术指南的文章就介绍到这了,更多相关SpringBoot自定义Banner内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文