23.2. 自定义Banner

通过在classpath下添加一个banner.txt或设置spring.banner.location属性来指定相应的文件,可以改变启动过程中打印的banner。如果这个文件不是以UTF-8编码,你可以设置spring.banner.charset。除了文本文件,你也可以添加一个banner.gifbanner.jpgbanner.png图片,或设置spring.banner.image.location属性。图片会转换为字符画(ASCII art)形式,并在所有文本banner上方显示。

在banner.txt中可以使用如下占位符:

变量

描述

${application.version}

MANIFEST.MF中声明的应用版本号,例如Implementation-Version: 1.0会打印1.0

${application.formatted-version}

MANIFEST.MF中声明的被格式化后的应用版本号(被括号包裹且以v作为前缀),用于显示,例如(v1.0)

${spring-boot.version}

当前Spring Boot的版本号,例如2.0.0.RELEASE

${spring-boot.formatted-version}

当前Spring Boot被格式化后的版本号(被括号包裹且以v作为前缀), 用于显示,例如(v2.0.0.RELEASE)

${Ansi.NAME}(或${AnsiColor.NAME},${AnsiBackground.NAME}, ${AnsiStyle.NAME})

NAME代表一种ANSI编码,具体详情查看AnsiPropertySource

${application.title}

MANIFEST.MF中声明的应用title,例如Implementation-Title: MyApp会打印MyApp

如果想以编程的方式产生一个banner,可以使用SpringBootApplication.setBanner(…)方法,并实现org.springframework.boot.Banner接口的printBanner()方法。

你也可以使用spring.main.banner-mode属性决定将banner打印到何处,System.outconsole),配置的logger(log)或都不输出(off)。

打印的banner将注册成一个名为springBootBanner的单例bean。

YAML会将off映射为false,如果想在应用中禁用banner,你需要确保off添加了引号:

spring:
    main:
        banner-mode: "off"

最后更新于