23.2 定制标语

启动时打印的标语可以通过向类路径中添加banner.txt文件或者通过将banner.location设置为该文件的位置来更改。如果文件有特殊的编码,您可以设置banner.charset(默认是UTF-8)。除了文本文件以外,您还可以将banner.gifbanner.jpgbanner.png图像文件添加到类路径中,或者设置banner.image.location属性。图像会被转换为ASCII艺术字并打印在所有文本标语的上方。

banner.txt文件内,您可以使用以下任何占位符:

Table 23.1. Banner variables

变量 描述
${application.version} MANIFEST.MF中声明的应用程序的版本号。例如Implementation-Version: 1.0打印为1.0
${application.formatted-version} MANIFEST.MF中声明的格式化后用于显示(用括号扩起并以v为前缀)的应用程序的版本号。例如(v1.0)
${spring-boot.version} 您使用的Spring Boot的版本号。例如1.5.7.RELEASE
${spring-boot.formatted-version} 格式化后用于显示(用括号扩起并以v为前缀)的您使用的Spring Boot的版本号。例如(v1.5.7.RELEASE)
${Ansi.NAME}(或${AnsiColor.NAME}
${AnsiBackground.NAME}${AnsiStyle.NAME} 其中NAME是ANSI转义代码的名称。详细信息请参阅AnsiPropertySource
${application.title} MANIFEST.MF中声明的您的应用程序的标题。例如Implementation-Title: MyApp被打印为MyApp

如果想以编程的方式生成标语,您可以使用SpringApplication.setBanner(…​)方法。使用org.springframework.boot.Banner接口并实现您自己的printBanner()方法。

您还可以使用spring.main.banner-mode属性来确定标语是被打印到System.outconsole)、使用已配置的logger(log)或是根本不打印(off)。

被打印的标语将以springBootBanner名称注册为单例bean。

YAML将off映射为false,因此如果要在程序中禁用标语请确保添加引号。

 spring:
     main:
        banner-mode: "off"

书籍推荐