SpringBoot(六)如何在SpringBoot启动时看到自己的logo?

1,246 阅读2分钟

1 前言

在启动 Spring Boot 项目时,默认看到 Spring Boot 启动 Logo。有些小伙伴可能就会想能不能自己定制一个专属的 Logo 呢?答案是肯定可以的。其实SpringBoot是支持自定义logo的,下面就介绍一下如何自定义logo吧!

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

2 实现步骤

2.1 SpringBoot支持文本内容和图像输出

  • 文本:文本图像会直接输出
  • 图像:支持gif、jpg或者png,SpringBoot会将图像转换为ASCll字符,然后再输出

一般在使用中我们都会使用txt文本内容作为banner输出。

这里分享两个自定义logo的网站:

2.2 配置

在SpringBoot项目的src/main/resources目录下新建一个 File 命名为 banner.txt或者banner.gif。 然后再 banner.txt 中粘贴上在上面网站中自定义的 Logo。

除此之外,还可以对logo进行设置字体大小,颜色,SpringBoot版本号等。

变量含义
${application.version}MANIFEST.MF 中定义的版本。如:1.0
${application.formatted-version}MANIFEST.MF中定义的版本,并添加一个v 前缀。如:v1.0
${spring-boot.version}Spring Boot 版本。如:2.1.1.RELEASE.
${spring-boot.formatted-version}Spring Boot 版本,并添加一个 v 前缀。如:v2.1.1.RELEASE
${Ansi.NAME} (or ${AnsiColor.NAME}, ${AnsiBackground.NAME}, ${AnsiStyle.NAME})ANSI 颜色、字体。更多细节,参考:AnsiPropertySource
${application.title}MANIFEST.MF 中定义的应用名。

注:${} 设置字体颜色的变量之间不能换行或空格分隔,否则会导致除最后一个变量外,都不生效。

同时也可以在application.yml中对banner进行配置

spring:
  main:
    # banner-mode有三种模式:console-打印在控制台,log-以日志输出,off-关闭
    banner-mode: console
  banner:
    # 指定文本banner字符编码
    charset: utf-8
    # 指定文本banner路径
    location: classpath:banner.txt
    image:
      # 指定图像banner路径
      location: banner.gif
      # 指定图像banner宽度
      width: 76
      # 指定图像banner高度
      height:
      # 指定图像banner距离左边界字符数
      margin: 2
      # 指定图像banner是否转换为黑色控制台主题
      invert: false

banner.txt内容:

 ___  ________ ___  __    ________   ________  ___       __
|\  \|\  _____\\  \|\  \ |\   ___  \|\   __  \|\  \     |\  \
\ \  \ \  \__/\ \  \/  /|\ \  \\ \  \ \  \|\  \ \  \    \ \  \
 \ \  \ \   __\\ \   ___  \ \  \\ \  \ \  \\\  \ \  \  __\ \  \
  \ \  \ \  \_| \ \  \\ \  \ \  \\ \  \ \  \\\  \ \  \|\__\_\  \
   \ \__\ \__\   \ \__\\ \__\ \__\\ \__\ \_______\ \____________\
    \|__|\|__|    \|__| \|__|\|__| \|__|\|_______|\|____________|

:: Spring Boot ::             (v${spring-boot.version})
:: Spring Boot Tutorial ::    (v1.0.0)

启动应用后,控制台将打印如下 logo:

在这里插入图片描述

示例代码-GitHub

示例代码-Gitee

个人博客