Spring Boot启动banner定制的步骤详解

 更新时间:2018年03月08日 10:34:51   作者:杨高超  
这篇文章主要给大家介绍了关于Spring Boot启动banner定制的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。

前言

爱美之心人皆有之,在 unix 和 linux 命令行环境下工作的闷骚程序员们可能也觉得命令行太单调了,而是他们就发明了在命令行下采用 ansii 字符输出各种图形的方式。这就是命令行下的 banner了,类似下面这样的


还有一些更闷骚的程序员甚至搞出了动态的 banner。例如在 linux(CentOS) 下执行下面的命令安装软件 sl

sudo yum install sl

完成后,在命令行输入一个 sl -a 命令,就会看到一个小火车喷着浓烟,从右至左开过屏幕,上面还有两个小人在欢呼雀跃。

在 SpringBoot 启动的时候,首先在命令行上会打印出如下的信息:


这就是 SpringBoot 的默认 banner。这个 启动 banner 是可以进行定制的。具体内容来自SpringBoot 官方文档

SpringBoot 文本 Banner 定制

第一种定制 SpringBoot 的方式是编辑一个 banner.txt 文件,然后在里面输入要在 banner 里面显示的内容,最后把这个文件存放到 classpath 路径里面就可以了。这里我们放到 resource 目录下。

一般为了显示效果,我们会将要显示的内容转换成为 ansii 的艺术字的形式。例如我想要在 banner 中显示 HELLO,GRACE,直接输入这个文本到文件中,显示效果是不好的,我们要通过一个文本转 ansii 艺术字的工具来转换一下。


把下面的 ansii 字符拷贝到 banner.txt 文件中。然后启动 SpringBoot ,启动 banner 就变成下面这个样子


在 banner.txt中,除了直接输入的 ansii 字符以外,还支持环境变量的配置。例如用 ${spring-boot.version} 来指代 SpringBoot 的版本。新的 banner.txt 内容变成


启动后的 banner 如下所示


支持的变量列表参考SpringBoot 官方文档

SpringBoot 图片 Banner 定制

如果觉得这种文本的启动 banner 不够炫酷,我们还可以将公司的 logo 或者产品的 logo 图片设置为启动的 banner 。当然不是把图片显示在命令行中,而是解析图片的像素,然后同 ansii 的方式给输出到命令行中。

图片的 banner 支持 gif 、png、jpeg 格式的图片。使用的时候,选用合适的图片,然后将图片名字改成 banner,然后和文字的 banner.txt 文件一样,放到 resource ,目录下即可。

例如,我们将一个如下的 jpeg 格式的微博 logo 改名为 banner.jpg 文件放到 resource 目录下


然后程序启动的 banner 就变成下面的样子。


如果在 classpath 中既有 banner.txt 文件,又有 banner 的图片文件,SpringBoot 会先显示图片 banner ,然后再显示文本的 banner。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • Java设计模式之工厂模式

    Java设计模式之工厂模式

    这篇文章主要为大家详细介绍了Java设计模式之工厂模式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • 详解配置spring-boot-actuator时候遇到的一些小问题

    详解配置spring-boot-actuator时候遇到的一些小问题

    这篇文章主要介绍了详解配置spring-boot-actuator时候遇到的一些小问题,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • 以Java代码为例讲解设计模式中的简单工厂模式

    以Java代码为例讲解设计模式中的简单工厂模式

    简单来说,工厂模式就是按照需求来返回一个类型的对象,使用工厂模式的意义就是,如果对象的实例化与代码依赖太大的话,不方便进行扩展和维护,使用工厂的目的就是使对象的实例化与主程序代码就行解耦.来具体看一下:
    2016-05-05
  • Jenkins迁移job插件Job Import Plugin流程详解

    Jenkins迁移job插件Job Import Plugin流程详解

    这篇文章主要介绍了Jenkins迁移job插件Job Import Plugin流程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • Mybatis中的游标查询Cursor(滚动查询)

    Mybatis中的游标查询Cursor(滚动查询)

    这篇文章主要介绍了Mybatis中的游标查询Cursor(滚动查询),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • Mybatis配置之<typeAliases>别名配置元素解析

    Mybatis配置之<typeAliases>别名配置元素解析

    这篇文章主要介绍了Mybatis配置之<typeAliases>别名配置元素解析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • IDEA下SpringBoot指定环境、配置文件启动操作过程

    IDEA下SpringBoot指定环境、配置文件启动操作过程

    这篇文章主要介绍了IDEA下SpringBoot指定环境、配置文件启动过程,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-08-08
  • java 优雅关闭线程池的方案

    java 优雅关闭线程池的方案

    这篇文章主要介绍了java 优雅关闭线程池的方案,帮助大家更好的理解和学习Java,感兴趣的朋友可以了解下
    2020-11-11
  • Mybatis 实现打印sql语句的代码

    Mybatis 实现打印sql语句的代码

    这篇文章主要介绍了Mybatis 实现打印sql语句的代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • Java中notify()和notifyAll()的使用区别

    Java中notify()和notifyAll()的使用区别

    本文主要介绍了Java中notify()和notifyAll()的使用区别,文中通过示例代码介绍的非常详细,感兴趣的小伙伴们可以参考一下
    2021-06-06

最新评论