【Spring Boot】自定义 Banner

Spring Boot Version: 3.0.x

1. 什么是 Banner

启动 Spring Boot 时,几乎总是能在控制台上方看到如下横幅,这个也叫字符画、英文ASCII艺术字

在这里插入图片描述

2. 如何修改 Banner

默认情况下,只需在 resources 根目录(准确说是 classpath)下新建一个 banner.txt 文件,内容即为 Banner

在这里插入图片描述

在 banner.txt 文件中,可以使用可用的任何键 Environment 以及以下任何占位符

VariableDescription
${application.version}应用程序的版本号,例如1.0
${application.formatted-version}用括号括起来并以 v 为前缀,例如(v1.0)
${spring-boot.version}正在使用的 Spring Boot 版本。例如3.0.5
${spring-boot.formatted-version}同理,(v3.0.5)

3. IDEA 中演示

banner.txt 内容如下,使用一个经典的佛祖保佑 Banner,并演示占位符的使用

${spring-boot.formatted-version}
————————————————————————————————————————————————————————————————————
//                          _ooOoo_                               //
//                         o8888888o                              //
//                         88" . "88                              //
//                         (| ^_^ |)                              //
//                         O\  =  /O                              //
//                      ____/`---'\____                           //
//                    .'  \\|     |//  `.                         //
//                   /  \\|||  :  |||//  \                        //
//                  /  _||||| -:- |||||-  \                       //
//                  |   | \\\  -  /// |   |                       //
//                  | \_|  ''\---/''  |   |                       //
//                  \  .-\__  `-`  ___/-. /                       //
//                ___`. .'  /--.--\  `. . ___                     //
//              ."" '<  `.___\_<|>_/___.'  >'"".                  //
//            | | :  `- \`.;`\ _ /`;.`/ - ` : | |                 //
//            \  \ `-.   \_ __\ /__ _/   .-` /  /                 //
//      ========`-.____`-.___\_____/___.-`____.-'========         //
//                           `=---='                              //
//      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^        //
//            佛祖保佑       永不宕机     永无BUG                    //
————————————————————————————————————————————————————————————————————

运行如下,符合预期

在这里插入图片描述

4. 快速生成 Banner

对于复杂的 Banner(譬如上面的佛祖),手打显然是很浪费时间精力的,通常会借助一些 Banner 生成工具快速生成,推荐一个 Banner 在线生成工具:https://www.bootschool.net/ascii,可以将输入的文本转换为 Banner,并且有多种字体可选

5. 指定 banner.txt 的位置

上面提到默认情况下,banner.txt 必须放在 classpath(resources 根目录 )下方可生效,假设现在需要放在 resources/static 目录下,在 application.yml 添加如下配置项即可

spring:
  banner:
  	# 或者 static/banner.txt
    location: classpath:static/banner.txt

需要说明的是,在没有显式设置上述配置项时,Banner 文件只能为 banner.txt;显式设置后,Banner 文件名就可以为 xxx.txt

6. 在 Spring Boot 2 中的说明

6.1 图片生成 Banner

在 3.0.x 的版本中,Banner 仅能通过文本文件(banner.txt)的方式设置,但在 2 的版本中,除了文本文件,还可以通过图片的方式设置,查看 spring.banner 下的配置项就可以发现

![在这里插入图片描述](https://img-blog.csdnimg.cn/96342edf82fa440aaae959be2bd768ee.png

通过配置项 spring.banner.image.location 的默认值可以看出,只需在 classpath 下放入一个 banner.gif 图片即可,经过测试,除了 gif 格式的图片,jpg、png 也能被识别,实际效果就是将图片转换为字符画

以下图为例(盒马.png)
盒马.png

spring:
  banner:
    image:
      location: static/盒马.png
      width: 38

由于默认宽度(76)下在控制台中生成的Banner过大,不便截图,故此处指定了 width 属性

生成效果:

在这里插入图片描述

可以看出,生成的 Banner 和原图十分相似,甚至连颜色都还原了(用了某种算法)

6.1 增强显示效果

还可以进一步增强显示效果,通过设置 spring.banner.image.pixelmode,将渲染图像时使用的像素模式由默认的 text 模式改为 block 模式

spring:
  banner:
    image:
      location: static/盒马.png
      width: 38
      pixelmode: block

生成效果:

在这里插入图片描述

6.3 更多配置项

至于 spring.banner.image 的其他属性不再逐一演示,因为十分简单,参照文档一试便知,附上

在这里插入图片描述

遗憾的是,在 Spring Boot 3 中有关 spring.banner.image.* 的配置项均已弃用,该功能已被剔除,仅支持文本文件的方式生成 Banner

在这里插入图片描述

7. 补充

在 2 版本中,可以同时指定文本文件和图片生成 Banner。
若同时指定,控制台 Banner 打印顺序为:文本文件、图片

本文链接:https://blog.csdn.net/weixin_43553153/article/details/130013697

  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值