正题开始啦~
牛年啦~ 咋们也研究下怎么给我们滴 IDEA 添加点 过年滴气氛,像这样
网络异常,图片无法展示
|
Spring boot 源码 之 Banner
源码看起来 <( ̄︶ ̄)↗[GO!]
Springboot
启动时,会先去创建SpringApplication
对象 。
SpringApplication
构造器
指定banner的模式
网络异常,图片无法展示
|
Banner
函数式接口
这里有三种模式
网络异常,图片无法展示
|
run
方法
创建banner对象
网络异常,图片无法展示
|
进入上图红框中,可以看到这里如果不是 OFF 模式的话会去创建
SpringApplicationBannerPrinter
对象
网络异常,图片无法展示
|
可以看到该类中还定义了 图片的类型(居然还支持 gif
!)~ 😝
网络异常,图片无法展示
|
接着来到下面这段源码,可以看到这里只是 输出流的不同 ,即 打印到控制台或者日志文件中
return this.bannerMode == Mode.LOG ? bannerPrinter.print(environment, this.mainApplicationClass, logger) : bannerPrinter.print(environment, this.mainApplicationClass, System.out); 复制代码
print
源码
获取Banner
网络异常,图片无法展示
|
getBanner
源码
获取Banner
网络异常,图片无法展示
|
getImageBanner
源码
这里会先 按顺序 去搜索 gif,jpg,png
有的话就立刻返回了,不会继续往下搜寻了~
网络异常,图片无法展示
|
image
路径的话也可以自己配置,设置的话默认在 resources
文件夹下面~
网络异常,图片无法展示
|
不知道有没有小伙伴一样很好奇这个 banner.gif
打印出来啥样子 哈哈哈哈~
4ye 这里弄了一个只有三帧的 gif
图 (太多帧的话会打印个没完没了的 哈哈哈😝) 效果如下~
网络异常,图片无法展示
|
网络异常,图片无法展示
|