控制banner内容

Spring Boot启动的时候默认的banner是spring的字样,看多了觉得挺单调的,Spring Boot为我们提供了自定义banner的功能。

自定义banner只需要在resource下新建一个banner.txt文件,将我们需要的banner字样放进去,启动的时候就会去读取使用这个文本文件中的banner。

比如:

                   _ooOoo_
o8888888o
88" . "88
(| -_- |)
O\ = /O
____/`---'\____
.' \\| |// `.
/ \\||| : |||// \
/ _||||| -:- |||||- \
| | \\\ - /// | |
| \_| ''\---/'' | |
\ .-\__ `-` ___/-. /
___`. .' /--.--\ `. . __
."" '< `.___\_<|>_/___.' >'"".
| | : `- \`.;`\ _ /`;.`/ - ` : | |
\ \ `-. \_ __\ /__ _/ .-` / /
======`-.____`-.___\_____/___.-`____.-'======
`=---='
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
佛祖保佑 永无BUG

控制banner样式

Spring提供了三个枚举类来设定字符的颜色,分别是:

AnsiColor: 用来设定字符的前景色

AnsiBackground: 用来设定字符的背景色

AnsiStyle: 用来控制加粗、斜体、下划线等等。

 

使用${AnsiFoo.Bar}来指定样式,当指定样式的时候会有提示的:

指定一种试一下,比如下面这种:

${AnsiColor.BRIGHT_YELLOW}
_ooOoo_
o8888888o
88" . "88
(| -_- |)
O\ = /O
____/`---'\____
.' \\| |// `.
/ \\||| : |||// \
/ _||||| -:- |||||- \
| | \\\ - /// | |
| \_| ''\---/'' | |
\ .-\__ `-` ___/-. /
___`. .' /--.--\ `. . __
."" '< `.___\_<|>_/___.' >'"".
| | : `- \`.;`\ _ /`;.`/ - ` : | |
\ \ `-. \_ __\ /__ _/ .-` / /
======`-.____`-.___\_____/___.-`____.-'======
`=---='
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
佛祖保佑 永无BUG

效果:


嗯,背景色的原因好丑啊....不过重点不是这个。

重点是这个颜色的设置是可以变的,也就是说同一个屏幕可以指定多个${AnsiColor.FooColor}这种,指定了颜色之后直到下次指定之前的字符都是FooColor颜色的,一个简单的例子,来将大佛的疙瘩设置为不同的颜色(为什毛我感觉下面的这段字符很搞笑,起风了...):

${AnsiColor.BRIGHT_YELLOW}
${AnsiColor.BRIGHT_RED}_ooOoo_${AnsiColor.BRIGHT_YELLOW}
${AnsiColor.BRIGHT_RED}o8888888o${AnsiColor.BRIGHT_YELLOW}
${AnsiColor.BRIGHT_RED}88${AnsiColor.BRIGHT_YELLOW}" . "${AnsiColor.BRIGHT_RED}88${AnsiColor.BRIGHT_YELLOW}
(| -_- |)
O\ = /O
____/`---'\____
.' \\| |// `.
/ \\||| : |||// \
/ _||||| -:- |||||- \
| | \\\ - /// | |
| \_| ''\---/'' | |
\ .-\__ `-` ___/-. /
___`. .' /--.--\ `. . __
."" '< `.___\_<|>_/___.' >'"".
| | : `- \`.;`\ _ /`;.`/ - ` : | |
\ \ `-. \_ __\ /__ _/ .-` / /
======`-.____`-.___\_____/___.-`____.-'======
`=---='
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
佛祖保佑 永无BUG

效果:

显示应用信息

除了上面的指定样式之外,还可以显示一些与应用相关的版本信息:

${application.version}   与MANIFEST.MF文件中相同的版本号,比如1.5.4.RELEASE

${application.formatted-version}   格式化过的版本号就是加个v然后用括号包起来,比如(v1.5.4.RELEASE)

${application.title}

${spring-boot.version} Spring Boot的版本

${spring-boot.formatted-version} 格式化过的版本

控制banner是否开启,输出位置

设置banner mode为OFF关闭banner:

package org.cc11001100;

import org.springframework.boot.Banner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication
public class SpringBootStudy002Application { public static void main(String[] args) {
SpringApplication springApplication = new SpringApplication(SpringBootStudy002Application.class);
springApplication.setBannerMode(Banner.Mode.OFF);
springApplication.run(args);
} }

几个常用的字符画生成网站

介绍几个常用的字符画生成网站:

1. http://patorjk.com/software/taag/#p=display&f=Henry%203D&t=CC11001100%0A 这个是比较常用的,可以根据输入的字符生成字符画

2. https://spring-boot-banner-gen.cfapps.io/ 可以将上传图片转为文本形式的字符画,只是感觉风格比较鬼畜(绝不能承认是我长的鬼畜...),这是鄙人的字符画....

3. http://www.degraeve.com/img2txt.php 可以根据在线的图片网址生成字符画,比如可以直接将公司logo的地址粘贴进去生成字符画,风格还算正常...

来张祖师爷的画像:

.

Spring Boot笔记之自定义启动banner的更多相关文章

  1. spring boot / cloud (四) 自定义线程池以及异步处理@Async

    spring boot / cloud (四) 自定义线程池以及异步处理@Async 前言 什么是线程池? 线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务.线 ...

  2. spring boot 笔记--第三章

    spring boot 笔记 第三章,使用Spring boot 构建系统: 强烈建议支持依赖管理的构建系统,Maven或Gradle 依赖管理: Spring Boot的每版本都会提供它支持的依赖列 ...

  3. Spring boot 自动配置自定义配置文件

    示例如下: 1.   新建 Maven 项目 properties 2.   pom.xml <project xmlns="http://maven.apache.org/POM/4 ...

  4. Spring Boot 2 (七):Spring Boot 如何解决项目启动时初始化资源

    Spring Boot 2 (七):Spring Boot 如何解决项目启动时初始化资源 在项目启动的时候需要做一些初始化的操作,比如初始化线程池,提前加载好加密证书等.今天就给大家介绍一个 Spri ...

  5. Intellij IDEA Spring Boot 项目Debug模式启动缓慢问题

    问题 Intellij IDEA Spring Boot 项目Debug模式启动缓慢 环境 os: windows10 idea :2018.1 解决方法 去除所有断点就正常了,很诡异,原因未知.

  6. 【spring boot】【elasticsearch】spring boot整合elasticsearch,启动报错Caused by: java.lang.IllegalStateException: availableProcessors is already set to [8], rejecting [8

    spring boot整合elasticsearch, 启动报错: Caused by: java.lang.IllegalStateException: availableProcessors ], ...

  7. spring boot 在eclipse里启动正常,但打包后启动不起来

    现象描述: spring boot 在eclipse里启动正常,但打包后启动不起来. 错误日志如下: D:\Project>java -jar MKKY_CMS.jar . ____ _ __ ...

  8. Spring Boot 项目几种启动方式

    Spring Boot 项目几种启动方式 1. 使用 main 启动 jar xxxx.jar 2. 使用 mvn 启动 mvn spring-boot:run 3. 使用 Spring Boot c ...

  9. Spring Boot(五)启动流程分析

    学习过springboot的都知道,在Springboot的main入口函数中调用SpringApplication.run(DemoApplication.class,args)函数便可以启用Spr ...

随机推荐

  1. 创建servlet程序知识点详解---servlet-day07

    情景1: 京东在买东西的时候,只有结帐的时候才会要求必须登录账户 #1.状态管理 ##(1)什么是状态管理? 将浏览器与web服务器之间多次交互当做一个整体来处理,并且将多次交互所涉及的数据(即状态) ...

  2. Docker 介绍及安装

    Docker介绍 Docker采用 C/S架构 Docker daemon 作为服务端接受来自客户的请求,并处理这些请求(创建.运行.分发容器). Docker基于go语言并遵从Apache2.0协议 ...

  3. Linux mail 邮件发送

    Linux mail 邮件介绍 在Linux系统下我们可以通过”mail“命令,发送邮件,在运维中通常我们它来实现邮件告警. 安装 (方案1) 一.安装邮件服务 yum install -y send ...

  4. Angular7 表单

    Angular 表单 input.checkbox.radio. select. textarea 实现在线预约功能 html 文件 <h2>人员登记系统</h2> <d ...

  5. 检测当前运行环境对es6的支持

    摘自:http://es6.ruanyifeng.com/#docs/intro 1.查看 node 已经实现的 es6 特性 // Linux & Mac $ node --v8-optio ...

  6. react-router 4.0(一)

    import React from 'react'; import ReactDOM from 'react-dom' import {Link,Route,HashRouter} from 'rea ...

  7. (转载)C#关于DateTime得到的当前时间的格式和用法

    今天看到工程里有关DateTime的有关知识,之前了解一些用法,比如怎么获取年月日,当前系统时间等等,但是,感觉还是有好多不知道,于是上网搜罗了一下,找到很多有关知识,现在与大家分享下:   Date ...

  8. 浅谈String中的==和对象中引用对象类型的==

    @Test public void test02() { StringBuffer sb = new StringBuffer(); sb.append('a'); sb.append(11); Sy ...

  9. [MySQL]配置多个MySQL服务(Windows)

    配置多个MySQL服务 1.复制原解压好的MySQL文件到本目录下,且改名为MySQL2 2.修改MySQL2文件夹中的my.ini 修改my.ini文件中的以下内容,并保存文件: [client] ...

  10. WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! --主机密钥验证失败

    1.错误出现在更换服务器操作系统后,使用ssh指令连接服务器时报错:ECDSA主机密钥发生改变,导致主机密钥验证失败! 2.解决方式一 使用指令:$ ssh-keygen -R  主机IP 如:$ s ...