我们在【28. SpringBoot启动时的Banner设置 】 这一小节介绍过设置Spring Boot的Banner,但是实际当中,我们希望做的更漂亮,所以也就有了这小节Spring Boot-启动彩蛋。(注意:这一个章节需要eclipse console支持ansi color)

我们都知道Spring Boot启动的时候,是如下的图标的:

那么我想要自定义的更漂亮,那么应该怎么做呢?

最简单的方式就是在resources目录下面放入一个banner.txt文件,Spring Boot启动的时候就会优先启动这个文件中的内容。

这里推荐两个字符画的网站,我们可以将生成的的字符串放入这个banner.txt文件中。

http://www.network-science.de/ascii/

http://patorjk.com/software/taag/

比如:我生成一个angel的图标,启动的时候,如下:

但是仅仅是这样看起来并不好看,还不如原来的图标好看呢。实际上Spring Boot为这个彩蛋提供了不少美化功能。Spring Boot提供了一个枚举类AnsiColor,这个类可以控制banner.txt中的字符颜色,而且非常容易使用。比如我可以将字符设置成颜色:BRIGHT_BLUE,只需要在banner.txt的最前面添加${AnsiColor.BRIGHT_BLUE}

即可,运行效果如下:

类似 ${AnsiColor.BRIGHT_BLUE} 这种表达式,其实可以放置多个,启动界面上的颜色,总是会根据AnsiColor的设置改变界面的颜色,这样启动的界面就会显示多种不同的颜色了。除了这样美化的功能之外,启动界面很重要的功能就是要告诉我们这个项目的一些重要信息。

${application.version} 这个是MANIFEST.MF文件中的版本号

${application.formatted-version} 这个是上面的的版本号前面加v后上括号

${spring-boot.version} 这个是springboot的版本号

${spring-boot.formatted-version}同上

把以上信息通过${}放入banner.txt中,就会打印出项目对应的信息。

这里放一个完整的banner.txt文件:

${AnsiColor.BRIGHT_BLUE}

______     __   __     ______     ______     __

/\  __ \   /\ "-.\ \   /\  ___\   /\  ___\   /\ \

\ \  __ \  \ \ \-.  \  \ \ \__ \  \ \  __\   \ \ \____

\ \_\ \_\  \ \_\\"\_\  \ \_____\  \ \_____\  \ \_____\

\/_/\/_/   \/_/ \/_/   \/_____/   \/_____/   \/_____/

${AnsiColor.BRIGHT_GREEN}

::: Project (version:${application.version}) :::             \(^O^)/    Spring-Boot ${spring-boot.version}

还有Spring Boot更酷的就是还支持ansi编码,能够支持显示彩色图片,看如下效果图:(在本文档提供此banner.txt的下载)。

另外在文章中https://github.com/spring-projects/spring-boot/pull/4647 指出了还可以从一张图片生成Ascii编码,然后放入到我们的banner.txt进行显示出来,但是可以自己看看,这里我没有进行实践了。

82. Spring Boot – 启动彩蛋【从零开始学Spring Boot】的更多相关文章

  1. (3)Spring Boot热部署【从零开始学Spring Boot】

    在编写代码的时候,你会发现我们只是简单把打印信息改变了下,就需要重新部署,如果是这样的编码方式,那么我们估计一天下来之后就真的是打几个Hello World之后就下班了.那么如何解决热部署的问题呢?那 ...

  2. 72.spring boot讨论群【从零开始学Spring Boot】

    [从零开始学习Spirng Boot-常见异常汇总] 如果您碰到什么问题,您可以加群进行探讨,在群里有加入的都是Spring Boot志同道合的朋友: Spring Boot QQ交流群:193341 ...

  3. 59. Spring Boot Validator校验【从零开始学Spring Boot】

    大纲: (1) 入门例子: (2) 国际化: (3) 在代码中添加错误信息: (1) 入门例子: Validator主要是校验用户提交的数据的合理性的,比如是否为空了,密码长度是否大于6位,是否是纯数 ...

  4. (6)Spring Boot datasource - mysql【从零开始学Spring Boot】

    在任何一个平台都逃离不了数据库的操作,那么在spring boot中怎么接入数据库呢? 很简单,我们需要在application.properties进行配置一下,application.proper ...

  5. (42)Spring Boot多数据源【从零开始学Spring Boot】

    我们在开发过程中可能需要用到多个数据源,我们有一个项目(MySQL)就是和别的项目(SQL Server)混合使用了.其中SQL Server是别的公司开发的,有些基本数据需要从他们平台进行调取,那么 ...

  6. (27)Spring Boot Junit单元测试【从零开始学Spring Boot】

    Junit这种老技术,现在又拿出来说,不为别的,某种程度上来说,更是为了要说明它在项目中的重要性. 那么先简单说一下为什么要写测试用例 1. 可以避免测试点的遗漏,为了更好的进行测试,可以提高测试效率 ...

  7. Spring Boot -- 启动彩蛋

    使用Spring Boot启动的jar包总是会显示一个Spring的图标: . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\_ ...

  8. 84. Spring Boot集成MongoDB【从零开始学Spring Boot】

    至于MongoDB网上有很多相关的资料,所以在这里不进行过多的介绍,我们在这里主要是介绍下如何将mongodb与spring boot结合使用.本节大纲: (1) 准备工作: (2) 新建一个mave ...

  9. 86. Spring Boot集成ActiveMQ【从零开始学Spring Boot】

    在Spring Boot中集成ActiveMQ相对还是比较简单的,都不需要安装什么服务,默认使用内存的activeMQ,当然配合ActiveMQ Server会更好.在这里我们简单介绍怎么使用,本节主 ...

随机推荐

  1. 实现如下语法的功能:var a = (5).plus(3).minus(6);

    Number.prototype.plus= function(val){ return parseInt(this)+val; }; Number.prototype.minus= function ...

  2. 【extjs6学习笔记】0.1 准备:基础概念 (01)

    1. Ext.application 应用程序入口点 2. Ext.onReady() 页面加载完成后触发动作 3. Ext.define() 4. Ext.data.proxy.Proxy 5. E ...

  3. c语言中的赋值

    int s,i,len,err=0 这个是只给err赋了值还是这四个都有?

  4. explian使用介绍

    1).id列数字越大越先执行,如果说数字一样大,那么就从上往下依次执行,id列为null的就表是这是一个结果集,不需要使用它来进行查询. 2).select_type列常见的有:A:simple:表示 ...

  5. OPENFIRE 接收数据流程图

    此图网上已经有,怎奈我不能上传大于10M的图片,所以截图了!各位请脑补!

  6. python打飞机pro版

    # -*- coding: utf-8 -*- import pygame from sys import exit import random pygame.init() screen = pyga ...

  7. CSS的相对定位和绝对定位

     relative的意思就是相对自己的一开始的位置进行的定位.如图: 但是这个元素的本身边距不变,还在原来位置   absolute的意思就是 如果它的父元素设置了除static之外的定位,比如pos ...

  8. Gym 100342E Minima (暴力,单调队列)

    3e7暴力,800ms+过,单调队列维护区间最小值. #include<bits/stdc++.h> using namespace std; typedef long long ll; ...

  9. 真爱 vs. 种姓:新一代印度人的婚恋观

    今日导读 “自由恋爱”是所有世界上所有有情人共同的心愿,而在印度,因为其根深蒂固的种姓制度,仍然有大批情侣只能听从父母的“包办婚姻”,被迫与心爱的人分离.但是最新的一项调查表明,印度的年轻一代开始出现 ...

  10. Hopfield 网络(上)

    讲的什么 这部分主要对 Hopfield 网络作一大概的介绍.写了其模型结构.能量函数和网络的动作方式.主要参考了网上搜到的一些相关 PPT.   概述 早在 1982 年,Hopfield 发表的文 ...