一、前言
当我们启动基于
Spring Boot
的应用程序时,通常会看到一个
默认的图形
,它显示了
Spring标志和版本信息
。这个就是启动
Banner
,在一些开源框架中也都会使用自定义的Banner,当然我们也可以自定义启动Banner,以展示您自己的个性化信息或公司品牌。
今天和大家一起来自定义一个
Banner
体会一下哈!!
项目可以不咋地,但是启动必须够牛逼!!!
二、Banner介绍
启动Banner是在应用程序启动过程中
显示的一段文本或图形
。它通常包含应用程序的名称、版本信息和其他相关的元数据。启动Banner能够提供对应用程序正在启动的直观反馈,同时也可以为用户展示个性化的信息。
默认打印:
三、自定义Banner
自定义Banner有两种不同的形式:
- 自己画出图形放到banner.txt
- 使用图片banner.gif、banner.jpg、banner.png:图像被转换为 ASCII 艺术表示并打印在任何文本横幅上方。
当然
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.7.13。 |
${spring-boot.formatted-version} | 您正在使用的 Spring Boot 版本,已格式化以供显示(用方括号括起来并以 为前缀v)。例如(v2.7.13)。 |
${Ansi.NAME}(或${AnsiColor.NAME}, ${AnsiBackground.NAME}, ${AnsiStyle.NAME}) |
NAMEANSI 转义码的名称: AnsiPropertySource详情请参阅 。 |
${application.title} | 您的申请的标题,如 中声明的那样MANIFEST.MF。例如Implementation-Title: MyApp打印为MyApp. |
我们就一个个试试,自己写
banner.txt
当然很费劲,我们使用网上生成的就可以了!
网上有很多,找了好多还是找个最好用,推荐给大家:
Banner图:ASCII艺术字(图)集
我们只需要把这俩文件放到resources文件夹下即可
或者在
resources
文件夹下新建一个文件夹专门存放,这时我们要指定到具体文件夹下:
spring:
banner:
location: classpath:data/banner.txt
1. banner.txt
我们使用的是
springboot2.7.13
我们先准备好文件:
${AnsiColor.BLUE}
${application.title}
,
\`-,
| `\
| \
__/.- - -.\,__
_.-'` `'"'--..,__
.-'` `'--.,_
.'` _ _ ___ `)
.' .'` `'-. (_` _`) _.-'
.' '--. '. .-.`"`@ .-'""-,
.------~' ,.---' '-._ _.' / `'--'"""".-'
/` ' /` _,..-----.,__ `''''`/ ;__,..--''--'`
`'--.,__ ' |-'` `'---'| |
`\ \ \ /
| | '-'
\ |
`\ |
\/
///
${AnsiColor.BRIGHT_RED}
${AnsiBackground.BRIGHT_WHITE}
${AnsiStyle.BOLD}
Application Version: ${application.version}
Spring Boot Version: ${spring-boot.version}
作者 ------------ ${application.author}
yml配置:
application:
version: v1.0
author: 王振军
title: =============================大鲨鱼网络平台===========================
spring-boot:
version: 2.7.13
server:
port: 9212
我们来说一下以下参数:
参数 | 解释 |
---|---|
|
颜色,专门有个枚举AnsiColor,自己挑选即可 |
|
背景色,专门有个枚举AnsiBackground,自己挑选即可 |
|
文字样式,专门有个枚举AnsiStyle,自己挑选即可 |
剩下的就是自定义的字段了!
2. 图片
本来想的两个同时存在会怎么打印,但是高版本的springboot限制了,我先弄的txt,加上图片后没有图片内容!
于是我把springboot版本降到
2.4.9
,
两个同时存在就会先打印图片然后打印txt的内容!
显示太高了,这里可以配置图片的长宽等信息
spring:
banner:
image:
height: 30
需要在图片前后打印一些信息可以在代码中写:
您还可以使用该spring.main.banner-mode属性来确定是否必须打印横幅System.out( console)、发送到配置的记录器 ( log),还是根本不生成横幅 ( off)。
打印的横幅以以下名称注册为单例 bean:
springBootBanner
。
同时存在:springboot高版本是不会显示两个的!!
四、总结
通过自定义启动 Banner,我们可以为我们的 Spring Boot 项目增添一些个性化的特色。这不仅可以提供更好的用户体验,还能展示我们的专业形象和品牌价值观。自定义 Banner 不仅限于文本,我们还可以使用图片等其他媒体类型来展示,让应用程序更加生动有趣。更多好玩的,大家慢慢去探索哈!!
看到这里了,还请动一下您的发财小手,关注一下公众号哈!!谢谢您的关注!!文章首发看!!!