Fork me on GitHub

Spring Boot自定义Banner

目录

TIPS

本文基于Spring Boot 2.1.9,理论支持Spring Boot所有版本。

相信玩过Spring Boot的童鞋一定在启动日志中见过类似如下的内容。本文详细探讨如何定制这部分内容,让内容更加趣味性。

1
2
3
4
5
6
7
1.   ____          _            __ _ _
2 /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
3( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
4 \\/ ___)| |_)| | | | | || (_| | ) ) ) )
5 ' |____| .__|_| |_|_| |_\__, | / / / /
6 =========|_|==============|___/=/_/_/_/
7 :: Spring Boot :: (v2.1.9.RELEASE)

如何自定义

自定义Banner非常简单,只需在 classpathsrc/main/resources )下创建创建名为 banner.txt 的文件即可。

Banner生成工具

自己画Banner是很麻烦的,下面提供几款工具,将图片转换成ASCII字符,快速生成Banner。

工具地址 作用
http://patorjk.com/software/taag 写文字,选择字体,将字转成ASCII
http://picascii.com/ 上传图片,将图片转ASCII
其他 使用搜索引擎,搜索”图片转ASCII”即可
等等 http://patorjk.com/software/taaghttp://www.network-science.de/ascii/http://www.degraeve.com/img2txt.php

下面是笔者准备好的Banner:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
                     _ooOoo_
o8888888o
88" . "88
(| ^_^ |)
O\ = /O
____/`---'\____
.' \\| |// `.
/ \\||| : |||// \
/ _||||| -:- |||||- \
| | \\\ - /// | |
| \_| ''\---/'' | |
\ .-\__ `-` ___/-. /
___`. .' /--.--\ `. . ___
."" '< `.___\_<|>_/___.' >'"".
| | : `- \`.;`\ _ /`;.`/ - ` : | |
========`-.____`-.___\_____/___.-`____.-'========
\ \ `-. \_ __\ /__ _/ .-` / /
`=---='
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
佛祖保佑 永不宕机 永无Bug

占位符与描述信息

banner.txt 支持占位符,占位符可用于描述项目,同时也可定制Banner显示的具体细节。

允许使用的占位符如下表所示:

Variable Description
${application.version} 应用版本,从MANIFEST.MF 读取Implementation-Version 的值并显示。例如Implementation-Version: 1.0 ,则打印 1.0
${application.formatted-version} 将应用版本用括号括起来,并添加前缀v。例如:Implementation-Version: 1.0 ,则打印 (v1.0)
${spring-boot.version} 打印Spring Boot版本,例如 2.1.4.RELEASE
${spring-boot.formatted-version} 将Spring Boot版本用括号括起来,并添加前缀v。例如: (v2.1.4.RELEASE)
${Ansi.NAME} (or ${AnsiColor.NAME}, ${AnsiBackground.NAME}, ${AnsiStyle.NAME}) 指定ANSI转义码,详见 org.springframework.boot.ansi.AnsiPropertySource
${application.title} 应用标题,从 MANIFEST.MF 读取 Implementation-Title 的值并打印。例如 Implementation-Title: itmuch-app ,则打印 itmuch-app

测试

创建 banner.txt ,内容如下:

1
2
3
4
${AnsiBackground.BRIGHT_YELLOW}${AnsiColor.BLUE}${AnsiStyle.BOLD}
应用版本:${application.version}
Spring Boot版本:${spring-boot.version}
应用标题:${application.title}

图片支持

Spring Boot同样支持使用图片作为Banner,只需将图片放到项目的classpathsrc/main/resources )目录下,命名为banner ,格式支持pngjpggif

禁用Banner

添加如下配置:

1
2
3
spring:
main:
banner-mode: "off"

或在启动类上添加类似如下代码:

1
2
3
4
5
public static void main(String[] args) {
SpringApplication app = new SpringApplication(MySpringConfiguration.class);
app.setBannerMode(Banner.Mode.OFF);
app.run(args);
}

相关文章

微信打赏

赞赏是不耍流氓的鼓励

评论系统未开启,无法评论!