Spring Boot 2.0 提供了很多新特性,其中就有一个小彩蛋:动态 Banner,今天我们就先拿这个来尝尝鲜。

配置依赖

使用 Spring Boot 2.0 首先需要将项目依赖包替换为刚刚发布的 2.0 RELEASE,现在网站https://start.spring.io/也将 Spring Boot 2.0 设置为默认版本。

<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.0.RELEASE</version>
</parent>

设置完毕后,dependencies中没有指明版本的依赖包,将自动使用2.0.0.RELEASE依赖的版本。

<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency>
</dependencies>

Spring Boot 2.0 刚刚发布,一些 Maven 仓库还没更新,如果导入项目后依赖包不能下载,可以手动添加 Spring Boot 官方 Maven 仓库。

<repositories><repository><id>spring-milestones</id><name>Spring Milestones</name><url>https://repo.spring.io/libs-milestone</url><snapshots><enabled>false</enabled></snapshots></repository>
</repositories>

大家做好心理准备,第一次使用 Spring Boot 2.0 ,完整依赖包需要下载半小时左右。

Spring Boot 更换 Banner

我们先来回顾一下在 Spring Boot 1.0 中如何更换启动 Banner,其实都很简单,只需要在src/main/resources路径下新建一个banner.txt文件,banner.txt中填写好需要打印的字符串内容即可。

一般情况下,我们会借助第三方工具帮忙转化内容,如网站http://www.network-science.de/ascii/将文字转化成字符串,网站:http://www.degraeve.com/img2txt.php可以将图片转化成字符串。

我们以Hello World为启动字符串来进行测试:

.__           .__  .__                               .__       .___
|  |__   ____ |  | |  |   ____   __  _  _____________|  |    __| _/
|  |  \_/ __ \|  | |  |  /  _ \  \ \/ \/ /  _ \_  __ \  |   / __ |
|   Y  \  ___/|  |_|  |_(  <_> )  \     (  <_> )  | \/  |__/ /_/ |
|___|  /\___  >____/____/\____/    \/\_/ \____/|__|  |____/\____ | \/     \/                                                  \/ 

在 Spring Boot 2.0 项目src/main/resources路径下新建一个banner.txt文件,粘贴上述字符串,启动 Spring Boot 项目观察启动日志,发现 Spring Boot 2.0 已经将默认的 Spring 字符串替换为 hello world。说明 Spring Boot 2.0 也支持1.0更换 Banner 的方法。

接下来在 Spring Boot 2.0 项目中测试打印动态 Banner ,使用的gif如下:

同样我们将 banner.gif 文件放到项目的src/main/resources路径下,启动项目进行测试,输出栏打印信息如下:

..                                    .::*                                   ...                                   .....                                                             ....      ........                                                            .    ...........                                                                . ........                                                                  ........                                                                     ....                                                                          ...**::**..                                .*::::::::::*.                              .*::::::::::::*.                             .*::::::::::::*.                             .*::::::::::::*.                             .*::::::::::*.                              ..**::***.                                ..                                                                          .....                                                                     .......                                                                    .........                                                                ....... ...    .                                                             ......       ....                                                             . .............................   .............                  .................. .........       ................    .        ...................                   ... . ... ............        .............   . ...                             ...............      .   .........                                         ...........       ..........                                            ....... ....   ............                                                ........  ........                                                     ........ .... .                                                        ......... ........                                                        ........ .........                       ..********..                      ......*..........                      .**::::::::::::**.                    ...................                 .**::::::::::::::::**.                   .............                     .*::::::::::::::::::::*.                  .......... ..                    .*::::::::::::::::::::::*.                 .............                    .::::::::::::::::::::::::.                 .................                .::::::::::::::::::::::::.                ... .............                 .*:::::::::::::::::::::::.                    .............                 .*::::::::::::::::::::::*.                     ............                  .*::::::::::::::::::::*.                     ............                   .**::::::::::::::::**.                 ............ ....                    .**::::::::::::**.                   .......... ........                        .********..                      ................ .                                                      ......*.. .........                                                     .   .....  .......                                                    .........    ........     .                                          ............    ............  ..                                        ...........     . .............                                        .........      ................                              ....   ..........      ............. ....    .                   ......... . ..... .      .... ...... .........       . .. .... .............. ....         ..       .............  ...........  ..............             ::.        .*:*                               :.        *:*      *. .*:*                       .:*.    *:   .*:*.       :.   .:                    :* :     :.                .::::*    :                  :  :    *         *****.....       *.:   :                :   : .:*         .::::::::::**..     ..  : *               :   *:           .*:::::::::::::::*.     *   **              o  ***        ...**::::::::::::::::::**.   *   :.:            : .* :    .....***::::::::::::::::::::::*.   :   : o           :*.  *   ..*****:::::::::::::::::::::::::*.   *  :  o          :   .   .*::::::::::::::::::::::::::::::::*.    ::   *         :*   :   *::::::::::::::::::::::::::::::::::*     :   o         * o  *   .*::::::::::::::::::::::::::::::::::*.   .:o  :         :  : :   .*::::::::::::::::::::::::::::::::::*.   :  . :         :  ..    .*::::::::::::::::::::::::::::::::::*.   *  : *         :   :    .*::::::::::::::::::::::::::::::::::*   :   *:          .   :*    .*o:::::::::::::::::::::::::::::::*.   .   :           :  :  *   .*::::::::::::::::::::::::::::::*.   *   :*           o *   :   .*::::::::::::::::::::::::::::*.    : ** :           :*   *    .*::::::::::::::::::::::::**.    *..  *            **   *    ..*::::::::::::::::::::*..     :*   *             * o  ..     ..**::::::::::::**..    .:. :   :              :   o.:        ...******...      *.   :  :.               :     ::o:.                *:     * *:                  :.    :       .*:*.   :*    .*::                      .:*  .*      *o:        .:                         .:*.        .*:                                          ...                                                                      

通过上述输出我们发现 Spring Boot 在启动的时候,会将 gif 图片的每一个画面,按照顺序打印在日志中,所有的画面打印完毕后,才会启动 Spring Boot 项目。

如果目录src/main/resources下同时存在banner.txtbanner.gif,项目会先将banner.gif每一个画面打印完毕之后,再打印banner.txt中的内容。

项目的启动 Banner 有什么用呢,在一些大的组织或者公司中,可以利用这个特性定制自己专属的启动画面,增加团队对品牌的认同感。

示例代码-github

示例代码-码云

参考

demo-animated-banner

作者:纯洁的微笑
出处:www.ityouknow.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

本文如对您有帮助,还请多帮 【推荐】 下此文。
如果喜欢我的文章,请关注我的公众号

Spring Boot 2.0(二):Spring Boot 2.0尝鲜-动态 Banner相关推荐

  1. Spring Boot 2 尝鲜-动态 Banner

    Spring Boot 2 (二):Spring Boot 2 尝鲜-动态 Banner Spring Boot 2.0 提供了很多新特性,其中就有一个小彩蛋:动态 Banner,今天我们就先拿这个来 ...

  2. (转)Spring Boot 2 (二):Spring Boot 2 尝鲜-动态 Banner

    http://www.ityouknow.com/springboot/2018/03/03/spring-boot-banner.html Spring Boot 2.0 提供了很多新特性,其中就有 ...

  3. banner信息是什么_Spring Boot 2 尝鲜-动态 Banner

    Spring Boot 2.0 提供了很多新特性,其中就有一个小彩蛋:动态 Banner,今天我们就先拿这个来尝尝鲜. 配置依赖 使用 Spring Boot 2.0 首先需要将项目依赖包替换为刚刚发 ...

  4. PHP 8.0 源码编译安装 JIT 尝鲜

    女主宣言 今天小编为大家分享一篇最简化的 PHP 8 源码编译安装方法.PHP 8.0 Alpha 1 已经在2020年6月25号发布了,今天带领大家快速尝鲜 PHP 8.0 的新特性 JIT.希望能 ...

  5. android+7.0+nexus,Nexus用户福利:尝鲜体验一键Root Android 7.0的快感

    前不久,期待已久的谷歌 Android 7.0/Nougat(牛轧糖)正式版系统终于发布,一大波手持Nexus设备的用户陆续享受到了"牛轧糖"的美味,跃跃欲试的发烧友们也纷纷摩拳擦 ...

  6. spring面试题(二)

    目录 硅谷 一 .请写出 spring 中常用的依赖注入方式. 二  .简述Spring中IOC容器常用的接口和具体的实现类 三 .简述Spring中如何基于注解配置Bean和装配Bean 四.  说 ...

  7. 学习Spring Boot:(二十七)Spring Boot 2.0 中使用 Actuator

    前言 主要是完成微服务的监控,完成监控治理.可以查看微服务间的数据处理和调用,当它们之间出现了异常,就可以快速定位到出现问题的地方. springboot - version: 2.0 正文 依赖 m ...

  8. spring boot高性能实现二维码扫码登录(中)——Redis版

    前言 本打算用CountDownLatch来实现,但有个问题我没有考虑,就是当用户APP没有扫二维码的时候,线程会阻塞5分钟,这反而造成性能的下降.好吧,现在回归传统方式:前端ajax每隔1秒或2秒发 ...

  9. spring boot高性能实现二维码扫码登录(上)——单服务器版

    前言 目前网页的主流登录方式是通过手机扫码二维码登录.我看了网上很多关于扫码登录博客后,发现基本思路大致是:打开网页,生成uuid,然后长连接请求后端并等待登录认证相应结果,而后端每个几百毫秒会循环查 ...

最新文章

  1. 【分享几个日常巡检 监控数据库的语句】
  2. Radware负载均衡项目配置实战解析之四-VRRP双机配置与同步
  3. C++中逗号操作符的重载
  4. oracle 5632,Oracle系统默认临时表空间以及redo日志文件问题处理
  5. “阿法狗”之父:关于围棋,人类3000年来犯了一个错
  6. linux 文件路径操作
  7. ps修改dds贴图_ZBrush建模师教你zbrush与Photoshop绘制人脸贴图,听仔细了哈
  8. 熵编码之哈夫曼树(五)
  9. bootdo jar 改war 坑
  10. MS17-010漏洞复现(带win7虚拟机安装,零基础)
  11. 生活之游戏中的心理学
  12. 你知道哪些中国学生普遍生疏但意境很美的英语词汇?
  13. android ibeacon sdk,如何通过Android上的SDK更改iBeacon参数(UUID,Major,Minor,TxPower)的值...
  14. Windows10 配置 Nvidia 驱动与 Cuda 环境搭建
  15. linux内核-进程三部曲:创建、执行与消亡
  16. 关于ionic环境卸载
  17. 钟翔平:坚持走手机浏览器架构创新之路
  18. Leecode-SQL 1407. 排名靠前的旅行者
  19. 不同路径(一个机器人位于一个 m x n 网格的左上角)
  20. unity hub 免费版实现

热门文章

  1. VMware-使用VMware在本地搭建多个CentOS虚机
  2. Spring-基于Java类的配置
  3. Oracle优化07-分析及动态采样-直方图
  4. matlab 添加环境变量,CentOS 添加环境变量的三种方法
  5. python 三指针解决颜色分类
  6. Matlab绘制包含双Y轴的图
  7. Object.create()方法
  8. php 接收curl json数据格式,curl发送 JSON格式POST数据的接收,以及在yii2框架中的实现原理【精细剖析】...
  9. 面试题整理13 合并排序链表去重
  10. 改善程序的55个具体做法