spring-学习记录之一 banner图

1.文本图案

两种方案任选其一即可

  1. 在resource下创建名为banner.txt的文件
  2. 在resource下创建自定义文件名称
    yml spring.banner.location=classpath:1.txt (其中1为自定义名称)

参考图片


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

在线制作Ascii文字

http://patorjk.com/software/taag/#p=display&f=Graffiti&t=Type%20Something%20

2.gif,jpg,png图案

实际效果其实就是将图片转为ASCII文字进行打印输出…

两种方案任选其一即可
1.将文件复制在resource下,yml中添加指向 spring.banner.image.location=classpath:1.gif
2.在resource下创建banner.txt 然后使用第三方网站 将图片转换为ASCII码后复制在banner.txt中
网址: https://www.degraeve.com/img2txt.php

3.源码时间

从头往下追 挑相关的看
先找到启动类
在这里插入图片描述向下追实现类
在这里插入图片描述可以看到在这是实现打印banner的实际代码 ,继续
在这里插入图片描述此处判断是否打印banner ,继而判断是CONSOLE模式还是log模式 影响不大实际都指向同一实现,继续
在这里插入图片描述在这里插入图片描述可以看出 首先加载的是图片类 然后在加载的文字类
先看图片类是如何实现的
在这里插入图片描述此处首先会查看 yml 下spring.banner.image.location 是有有对应配置 有且文件存在则加载, 如果不存在都到下面for循环 会检查banner.gif,banner.jpg,png,banner.png 是否存在 如都不存在 检测结束
如果成功 继续
在这里插入图片描述这就是图片类的实际执行类 将图片转为ASCII的操作就在此处的printBanner 方法中 有兴趣的同学可以观摩一番 此处不做详细说明

下面是文字类,书接上回
在这里插入图片描述在这里插入图片描述可以看到首先会检查yml中spring.banner.image.location 是否有配置 未配置则会默认寻找DEFAULT_BANNER_LOCATION - banner.txt 文件

结束!
文字实际执行类:SpringApplicationBannerPrinter.getTextBanner
图片实际执行类:ImageBanner.printBanner

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值