开发者

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

目录
  • 1、简述
  • 2、Spring Boot 默认 Banner
  • 3、自定义 Banner
    • 3.1 使用 banner.txt 定义 ASCII Art
    • 3.2 使用图片作为 Banner
    • 3.3 通过编程方式自定义 Banner
  • 4、配置 Banner
    • 4.1 设置 Banner 显示模式
    • 4.2 设置字体颜色
  • 5、总结

    1、简述

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

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

    2、Spring Boot 默认 Banner

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

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

    3、自定义 Banner

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

    • 文本文件(ASCII Art):通过 banner.txt 文件设置 ASCII Art。
    • 图片文件:通过 banner.jpg、banner.png 编程或 banner.gif 设置图片。
    • 编程方式:通过编写 Java 代码自定义 Banner。

    3.1 使用 banner.txt 定义 ASCII Art

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

    实践步骤:

    • 在 src/main/resources 中创建 banner.txt 文件。
    • 编写 ASCII 文本图案。可以使用 Banner Generator 等工具生成自定义字符。

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

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

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

    3.2 使用图片作为 Banner

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

    实践步骤:

    • 将 banner.png、banner.jpg 或 banner.gif 图片文件放在 src/main/resources 中。
    • 启动项目,Spring Boot 会自动加载并显示图片的 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 imhttp://www.devze.complements 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 BootqbkSQPrOC 允许在 application.properties 文件中设置 Banner 的显示位置和字体颜色。

    4.1 设置 Banner 显示模式

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

    spring.main.banner-mode=console
    • console:在控制台打印 Banner(默认值)。
    • log:将 Banner 打印到日志文件。
    • off:禁用 Banner。

    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,即可在控制台中显示红色的文本。常用颜色代码:

    • ${AnsiColor.BLACK}
    • ${AnsiColor.RED}
    • ${AnsiColor.GREEN}
    • ${AnsiColor.YELLOW}
    • ${AnsiColor.BLUE}
    • ${AnsiColor.MAGENTA}
    • ${AnsiColor.CYAN}
    • ${AnsiColor.WHITE}

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

    5、总结

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

    • 使用 ASCII Art 定义 Banner:在 src/main/resources/banner.txt 中添加 ASCII Art 内容。
    • 使用图片作为 Banner:将黑白图片文件(如 banner.png)放置到 src/main/resources 中。
    • 通过编程方式自定义 Banner:实现 Banner 接口,并在 SpringApplication 中注册。
    • 在 application.properties 中配置:选择 Banner 显示模式和字体颜色。

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

    到此这篇关于SpringBoot项目中自定义Banner的技术指南的文章就介绍到这了,更多相关SpringBoot自定义Banner内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!

    0

    上一篇:

    下一篇:

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    最新开发

    开发排行榜