SpringBoot启动的时候会打印了默认在resource下面banner.txt里面的内容,突然好奇,就大概看下源码,记个笔记,比较简单.
首先,banner有个开关:

   SpringApplication springApplication = new SpringApplication(RunApplication.class);//控制台打印
//       springApplication.setBannerMode(Banner.Mode.CONSOLE);//关闭springApplication.setBannerMode(Banner.Mode.OFF);springApplication.run(args);

Mode对应的枚举比较简单:

     OFF,CONSOLE,LOG;

然后点到run方法里面去,一眼看见printBanner字样:

点到this.printBanner方法里面去:

在一开始设置的开关那里,set方法赋值进去了, springApplication.setBannerMode(Banner.Mode.OFF);如果为OFF就不打印:

如果开启的话,就先获得资源加载器ResourceLoader,ResourceLoader内部默认是以classpath:开头的,所以,我们只需要在resource下面创建banner.txt即可.

然后根据加载器和打印的Model枚举初始化SpringApplicationBannerPrinter,这个类就是打印banner的具体类了,然后主要打印方法就是print方法,其他方法就是获取不同的banner,然后再下面的静态内部类,我也不是很懂,希望大佬留言教教我…然后打印就两个方法,一个日志打印,一个流打印.


然后日志打印的话,就根据createStringFromBanner这个方法获取Stirng字符串,然后日志打印,
控制台输出的话,就是根据先根据环境获取对应的Banner,实现Banner(里面就打印方法)接口主要一个图片banner,和资源banner,这里应该是ResourceBanner资源banner,然后调用ResourceBanner里面的printBanner方法.,里面就有我们熟悉的 System.out.println()了.


中间一些PropertyResolver我感觉应该是做一些解析,但具体,也不是很懂,萌新希望大佬留言指点指点.以上就是springboot加载banner图片的大概流程.然后,那我们自己想实现一个简单的打印banner呢?那就解析banner.txt文件转换为字符串,然后直接打印出来即可.

可以写在启动完成之后,也可以写在之前,就是读取文件,转为String打印出来…
在线生成banner图:https://www.bootschool.net/ascii/

springboot启动banner图片相关推荐

  1. spring-boot启动banner

    title: spring-boot启动banner 愿你百岁无忧 肆无忌惮 管他沧海桑田 你仍是四月人间 /** * .,:,,, .::,,,::. * .::::,,;;, .,;;:,,... ...

  2. SpringBoot启动--banner.txt

    SpringBoot启动–banner.txt 在项目的resources文件夹下新建一个banner.txt文件,或者自定义文件之后在application.property中指定文件路径. 也可以 ...

  3. SpringBoot启动banner更改

    这篇文章的开始先给大家看一个图片 用过或者看过springboot的人都知道,这就是springboot启动的banner,这一篇介绍如何自定义springboot的启动bannner. 先介绍一个可 ...

  4. SpringBoot: 启动Banner在线生成工具

    我们在启动 SpringBoot 时,控制台会打印 SpringBoot Logo 以及版本信息:这个操作是可以通过 SpringBoot的banner自定义实现 . ____ _ __ _ _/\\ ...

  5. Springboot 启动Banner设置

    SpringBoot项目启动时会在控制台打印一个默认的启动图案,这个图案就是我们要讲的banner.看似简单的banner,我们能够对它做些什么呢?本篇文章就带大家深入了解一下banner的使用(版本 ...

  6. 自定义SpringBoot启动banner -- 佛祖保佑 永无BUG

    效果图 日志输出格式配置.日志颜色等,请参考>>> 在resources文件夹下新建banner.txt文件 复制一下内容到banner.txt文件中 注意:文件中的格式已排版,如需 ...

  7. springboot 启动banner 打印 佛祖保佑

    新建banner.txt 在Resources目录下新建 banner.txt 内容如下 ------------------------------------------------------- ...

  8. 自定义SpringBoot启动图片banner -- 佛祖保佑 永不宕机 永无BUG

    文章目录 前言 一.创建banner文件夹,上传banner.txt文件 1.resources文件下新建banner文件夹 2.把banner.txt上传到banner文件夹中 二.修改applic ...

  9. SpringBoot的banner竟然可以用美女图片在线制作,难以相信

    一:banner.txt 在SpringBoot项目的resources目录下新建一个banner.txt文本文件,然后将启动Banner粘贴到此文本文件中,启动项目即可. 二:在线制作banner ...

  10. SpringBoot启动控制台的banner是怎么回事

    前言 每次启动SpringBoot项目时,总是能看到控制台打印了一串字符,隐约能辨认出是"Spring",不知大家是否也好奇过是怎么实现的,是直接打印固定的字符串,还是根据什么算法 ...

最新文章

  1. 虚拟机管理你的服务器,全面解析VMware的虚拟机管理解决方案
  2. php 不可以连接远程mysql数据库
  3. switch case in protected scope 异常解决
  4. python电脑如何下载软件-Python如何下载文件
  5. dede后台title怎么修改的?去掉XXXX-织梦内容管理系统V5.7
  6. django查询表记录的十三种方法
  7. wordpress语言文件.po.pot.mo简介及汉化
  8. 未结束的字符文字_PAT B1042:字符统计
  9. win10安装vmware tools + 无法拖拽文件解决
  10. 川大 计算机 博士 毕业要求,川大酝酿新规:博士生毕业不能直接当讲师
  11. numpy—np.stack、np.hstack、np.vstack
  12. 145. 大小写转换
  13. Matlab:数据包络分析(DEA)入门教程
  14. java怎么用unicode写程序_简单的讲解Java是使用Unicode字符集
  15. 常见算法工程师面试题总结(机器学习,深度学习)
  16. 无法导入reg:指定的文件不是注册脚本——兼了解文本格式问题
  17. ps怎么加底部阴影_PS给物体底部加阴影
  18. Matlab中int2str函数使用
  19. Python 基于BP神经网络的鸢尾花分类
  20. 周易六十四卦——离卦

热门文章

  1. QWebEngineView播放视频最大化
  2. 163免费邮件群发平台,企业群发邮件的哪个好?企业邮件群发助手
  3. 阿里数据中台与OneData
  4. 哪个音频格式转换器最好用
  5. 手机共享计算机网络连接,电脑和手机网络的相互共享
  6. 万达商管再次递表港交所:上半年净利润40亿元,外部股东阵容强大
  7. js 打印去掉页眉页脚页码_JS实现无页眉页脚打印(转)
  8. python第五章课后答案汉诺塔_python 习题
  9. 有1000个一模一样的瓶子,其中有999瓶是普通的水,有1瓶是毒药。任何喝下毒药的生物都会在一星期之后死亡。现在,你只有10只小白鼠和一星期的时间,如何检验出那个瓶子里有毒药?
  10. Vue学习day03(vscode)