Springboot 居然可以设置动态的Banner!!(悄悄滴~)|牛气冲天新年征文

简介: 正题开始啦~牛年啦~ 咋们也研究下怎么给我们滴 IDEA 添加点 过年滴气氛,像这样Spring boot 源码 之 Banner源码看起来 <( ̄︶ ̄)↗[GO!]Springboot 启动时,会先去创建SpringApplication 对象 。SpringApplication 构造器指定banner的模式Banner 函数式接口这里有三种模式run 方法创建banner对象进入上图红框中,可以看到这里如果不是 OFF 模式的话会去创建 SpringApplicationBannerPrinter 对象可以看到该类中还定义了 图片的类型(居然还支持 gif

正题开始啦~


牛年啦~  咋们也研究下怎么给我们滴 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 图 (太多帧的话会打印个没完没了的 哈哈哈😝) 效果如下~


网络异常,图片无法展示
|


网络异常,图片无法展示
|



目录
相关文章
|
4月前
|
Java
Springboot 导出word,动态填充表格数据
Springboot 导出word,动态填充表格数据
|
4月前
|
Java 调度 Spring
SpringBoot实现多线程定时任务动态定时任务配置文件配置定时任务
SpringBoot实现多线程定时任务动态定时任务配置文件配置定时任务
404 0
|
4月前
|
Java Spring
Springboot+jpa如何设置启动项目表不存在就主动创建,字段没有就新增
Springboot+jpa如何设置启动项目表不存在就主动创建,字段没有就新增
366 0
|
4月前
|
安全 数据安全/隐私保护
Springboot+Spring security +jwt认证+动态授权
Springboot+Spring security +jwt认证+动态授权
180 0
|
20天前
|
Java Spring 开发者
解锁 Spring Boot 自动化配置的黑科技:带你走进一键配置的高效开发新时代,再也不怕繁琐设置!
【8月更文挑战第31天】Spring Boot 的自动化配置机制极大简化了开发流程,使开发者能专注业务逻辑。通过 `@SpringBootApplication` 注解组合,特别是 `@EnableAutoConfiguration`,Spring Boot 可自动激活所需配置。例如,添加 JPA 依赖后,只需在 `application.properties` 配置数据库信息,即可自动完成 JPA 和数据源设置。这一机制基于多种条件注解(如 `@ConditionalOnClass`)实现智能配置。深入理解该机制有助于提升开发效率并更好地解决问题。
35 0
|
2月前
|
Java
springBoot如何设置yml文件,设置端口号
springBoot如何设置yml文件,设置端口号
|
3月前
|
JavaScript Java 测试技术
基于SpringBoot+Vue的宝鸡文理学院学生成绩动态追踪系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的宝鸡文理学院学生成绩动态追踪系统的详细设计和实现(源码+lw+部署文档+讲解等)
22 0
|
3月前
|
Java 应用服务中间件 容器
手写SpringBoot(二)之动态切换Servlet容器
我们在切换serlvet容器的时候,会将SpringBoot默认的tomcat jar包给排除掉,换上我们需要的jar包,比如jetty。
27 0
|
3月前
|
关系型数据库 数据库 数据安全/隐私保护
springboot+dynamic-datasource多数据源配置动态切换
springboot+dynamic-datasource多数据源配置动态切换
253 0
|
3月前
|
Java
springboot集成swagger2并分组全局设置Authorization
springboot集成swagger2并分组全局设置Authorization
104 0