一 官方文档介绍

1 自定义横幅

通过在 classpath 中添加banner.txt文件或将banner.location设置为此类文件的位置,可以更改启动时打印的横幅。如果文件具有异常编码,则可以设置banner.charset(默认为UTF-8)。除了文本文件,您还可以将banner.gifbanner.jpgbanner.png图像文件添加到 classpath,或设置banner.image.location property。图像将转换为 ASCII 艺术表示并打印在任何文本横幅上方。

banner.txt文件中,您可以使用以下任何占位符:

表格 1_.横幅变量

变量 描述
${application.version} MANIFEST.MF中声明的 application 的 version number。对于 example Implementation-Version: 1.0打印为1.0
${application.formatted-version} MANIFEST.MF中声明的 application 的 version number 用于显示(用括号括起来并以v为前缀)。对于 example (v1.0)
${spring-boot.version} 您正在使用的 Spring Boot version。对于 example 1.5.9.RELEASE
${spring-boot.formatted-version} 正在使用的 Spring Boot version 格式化显示(用括号括起来并以v为前缀)。对于 example (v1.5.9.RELEASE)
${Ansi.NAME}(或${AnsiColor.NAME}${AnsiBackground.NAME}${AnsiStyle.NAME}) 其中NAME是 ANSI 转义 code 的 name。有关详细信息,请参阅AnsiPropertySource
${application.title} MANIFEST.MF中声明的 application 的标题。对于 example Implementation-Title: MyApp打印为MyApp

如果要以编程方式生成横幅,可以使用SpringApplication.setBanner(…)方法。使用org.springframework.boot.Banner接口并实现自己的printBanner()方法。

您还可以使用spring.main.banner-mode property 来确定是否必须使用已配置的 logger(log)或根本不使用(off)在System.out(console)上打印横幅。

打印的横幅将在 name springBootBanner下注册为 singleton bean。

YAML maps offfalse所以如果要在 application 中禁用横幅,请务必添加引号。

spring:
   main:
       banner-mode: "off"

2 自定义 SpringApplication

如果SpringApplication默认值不符合您的口味,您可以改为创建本地实例并对其进行自定义。例如,要关闭您要写的横幅:

public static void main(String[] args) {
SpringApplication app = new SpringApplication(MySpringConfiguration.class);
app.setBannerMode(Banner.Mode.OFF);
app.run(args);
}

传递给SpringApplication的构造函数 arguments 是 spring beans 的 configuration 源。在大多数情况下,这些将是@Configuration classes 的 references,但它们也可以是 XML configuration 或应扫描的包的 reference。

也可以使用application.properties文件配置SpringApplication

二 测试

  • 自定义Banner

application.properties

spring.banner.location=banner.txt

banner.txt

                    !
/^\
/ \
| | ( ) | |
/^\ | /^\ \ / /^\ | /^\
|O| /^\ ( )|-----|( ) /^\ |O|
|_| |-| |^-^|---||-----||---|^-^| |-| |_|
|O| |O| |/^\|/^\|| | ||/^\|/^\| |O| |O|
|-| |-| ||_|||_||| /^\ |||_|||_|| |-| |-|
|O| |O| |/^\|/^\||( )||/^\|/^\| |O| |O|
|-| |-| ||_|||_|||| ||||_|||_|| |-| |-|

启动

                 !
/^\
/ \
| | ( ) | |
/^\ | /^\ \ / /^\ | /^\
|O| /^\ ( )|-----|( ) /^\ |O|
|_| |-| |^-^|---||-----||---|^-^| |-| |_|
|O| |O| |/^\|/^\|| | ||/^\|/^\| |O| |O|
|-| |-| ||_|||_||| /^\ |||_|||_|| |-| |-|
|O| |O| |/^\|/^\||( )||/^\|/^\| |O| |O|
|-| |-| ||_|||_|||| ||||_|||_|| |-| |-|
2019-10-28 22:19:03.614 INFO 18192 --- [ main] com.example.demo.TestApplication : Starting TestApplication on WGR-PC with PID 18192 (E:\STSWorkspace\test\target\classes started by asus in E:\STSWorkspace\test)
2019-10-28 22:19:03.614 INFO 18192 --- [ main] com.example.demo.TestApplication : No active profile set, falling back to default profiles: default
2019-10-28 22:19:04.394 INFO 18192 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http)
2019-10-28 22:19:04.432 INFO 18192 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
  • 关闭Banner

spring.main.banner-mode=off
  • 带枚举

    更换Banner相对于隐藏要简单一些,我们只需要在src/main/resource下添加一个名叫banner.txt的文件,将需要修改的内容写入到该文件内就可以了,具体Banner内容如下所示:

    ${AnsiColor.BRIGHT_RED}                      !                      天地山青   ${AnsiColor.BRIGHT_YELLOW}                      !
    ${AnsiColor.BRIGHT_RED} /^\ ${AnsiColor.BRIGHT_YELLOW}道法无常 /^\
    ${AnsiColor.BRIGHT_RED} / \ 天地无极 ${AnsiColor.BRIGHT_YELLOW} / \
    ${AnsiColor.BRIGHT_RED} | | ( ) | | ${AnsiColor.BRIGHT_YELLOW}乾坤戒法 | | ( ) | |
    ${AnsiColor.BRIGHT_RED} /^\ | /^\ \ / /^\ | /^\ 元阳入体 ${AnsiColor.BRIGHT_YELLOW} /^\ | /^\ \ / /^\ | /^\
    ${AnsiColor.BRIGHT_RED} |O| /^\ ( )|-----|( ) /^\ |O| ${AnsiColor.BRIGHT_YELLOW}五毒不侵 |O| /^\ ( )|-----|( ) /^\ |O|
    ${AnsiColor.BRIGHT_RED} |_| |-| |^-^|---||-----||---|^-^| |-| |_| 九阳之体 ${AnsiColor.BRIGHT_YELLOW} |_| |-| |^-^|---||-----||---|^-^| |-| |_|
    ${AnsiColor.BRIGHT_RED} |O| |O| |/^\|/^\|| | ||/^\|/^\| |O| |O| ${AnsiColor.BRIGHT_YELLOW}化缘神功 |O| |O| |/^\|/^\|| | ||/^\|/^\| |O| |O|
    ${AnsiColor.BRIGHT_RED} |-| |-| ||_|||_||| /^\ |||_|||_|| |-| |-| 邪魔退散 ${AnsiColor.BRIGHT_YELLOW} |-| |-| ||_|||_||| /^\ |||_|||_|| |-| |-|
    ${AnsiColor.BRIGHT_RED} |O| |O| |/^\|/^\||( )||/^\|/^\| |O| |O| ${AnsiColor.BRIGHT_YELLOW}永不宕机 |O| |O| |/^\|/^\||( )||/^\|/^\| |O| |O|
    ${AnsiColor.BRIGHT_RED} |-| |-| ||_|||_|||| ||||_|||_|| |-| |-| 永无八哥 ${AnsiColor.BRIGHT_YELLOW} |-| |-| ||_|||_|||| ||||_|||_|| |-| |-|
    ${AnsiColor.BRIGHT_CYAN}

    在上面有一些属性配置,如${AnsiColor.BRIGHT_RED},这些配置都位于`org.springframework.boot.ansi.AnsiColor枚举内,用于配置的是输出的颜色。可配置内容如下所示:

      
      DEFAULT("39"),
    BLACK("30"),
    RED("31"),
    GREEN("32"),
    YELLOW("33"),
    BLUE("34"),
    MAGENTA("35"),
    CYAN("36"),
    WHITE("37"),
    BRIGHT_BLACK("90"),
    BRIGHT_RED("91"),
    BRIGHT_GREEN("92"),
    BRIGHT_YELLOW("93"),
    BRIGHT_BLUE("94"),
    BRIGHT_MAGENTA("95"),
    BRIGHT_CYAN("96"),
    BRIGHT_WHITE("97");

    这个配置是针对文字的颜色,当然还有背景颜色的配置,位于org.springframework.boot.ansi.AnsiBackground枚举内,可配置的内容如下所示:

      
     DEFAULT("49"),
    BLACK("40"),
    RED("41"),
    GREEN("42"),
    YELLOW("43"),
    BLUE("44"),
    MAGENTA("45"),
    CYAN("46"),
    WHITE("47"),
    BRIGHT_BLACK("100"),
    BRIGHT_RED("101"),
    BRIGHT_GREEN("102"),
    BRIGHT_YELLOW("103"),
    BRIGHT_BLUE("104"),
    BRIGHT_MAGENTA("105"),
    BRIGHT_CYAN("106"),
    BRIGHT_WHITE("107");

    具体的banner.txt的内容可根据自己的爱好进行配置

                          !                      天地山青                         !
    /^\ 道法无常 /^\
    / \ 天地无极 / \
    | | ( ) | | 乾坤戒法 | | ( ) | |
    /^\ | /^\ \ / /^\ | /^\ 元阳入体 /^\ | /^\ \ / /^\ | /^\
    |O| /^\ ( )|-----|( ) /^\ |O| 五毒不侵 |O| /^\ ( )|-----|( ) /^\ |O|
    |_| |-| |^-^|---||-----||---|^-^| |-| |_| 九阳之体 |_| |-| |^-^|---||-----||---|^-^| |-| |_|
    |O| |O| |/^\|/^\|| | ||/^\|/^\| |O| |O| 化缘神功 |O| |O| |/^\|/^\|| | ||/^\|/^\| |O| |O|
    |-| |-| ||_|||_||| /^\ |||_|||_|| |-| |-| 邪魔退散 |-| |-| ||_|||_||| /^\ |||_|||_|| |-| |-|
    |O| |O| |/^\|/^\||( )||/^\|/^\| |O| |O| 永不宕机 |O| |O| |/^\|/^\||( )||/^\|/^\| |O| |O|
    |-| |-| ||_|||_|||| ||||_|||_|| |-| |-| 永无八哥 |-| |-| ||_|||_|||| ||||_|||_|| |-| |-|

    2019-10-28 22:26:50.213 INFO 18256 --- [ main] com.example.demo.TestApplication : Starting TestApplication on WGR-PC with PID 18256 (E:\STSWorkspace\test\target\classes started by asus in E:\STSWorkspace\test)
    2019-10-28 22:26:50.215 INFO 18256 --- [ main] com.example.demo.TestApplication : No active profile set, falling back to default profiles: default
    2019-10-28 22:26:51.140 INFO 18256 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http)
    2019-10-28 22:26:51.171 INFO 18256 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]

SpringBoot的Banner的更多相关文章

  1. SpringBoot的Banner横幅

    SpringBoot的Banner横幅即在SpringBoot应用程序启动过程中,日志输出的如下内容: 如果想替换此部分内容的话,可以在classpath根路径下建立一个文件,命名为:banner.t ...

  2. SpringBoot 自定义Banner

    在2016年的最后一天,借用Spring Boot的Banner向各位程序猿同仁们问候一声:Happy New Year. 接下来我们就来介绍一下这个轻松愉快的自定义banner功能.实现的方式非常简 ...

  3. 自定义SpringBoot启动banner

    序: springboot启动的时候会有一个启动logo似的东西,如图,这个logo似的东西叫做banner,本文小计修改此banner显示与关闭banner.没什么用,有兴趣可以玩玩-- 正文: 自 ...

  4. SpringBoot启动banner更改

    这篇文章的开始先给大家看一个图片 用过或者看过springboot的人都知道,这就是springboot启动的banner,这一篇介绍如何自定义springboot的启动bannner. 先介绍一个可 ...

  5. SpringBoot管理Banner

    一.引言 在springboot项目启动的时候,会在console控制台中打印出一个SPRING的图案.有时候为了减少日志输出以及控制台的输出,就需要将这些给去除:有时候需要换上个人的标签等标识,就需 ...

  6. springboot设置banner

    下图是springboot项目启动的的打印数据,在log中可以清楚的看到有一个spring的banner图案,这个图案其实我们是可以自己进行设置的 我们在项目目录的resources目录下创建一个ba ...

  7. springboot之banner

    1 在Main里面关闭 @SpringBootApplication@MapperScan("org.sselab.mapper")public class Application ...

  8. springboot自定义banner生成器

    http://patorjk.com/software/taag/#p=display&f=Graffiti&t=Type%20Something%20

  9. 教你如何快速定制 SpringBoot banner

    之前说过如何快速创建SpringBoot项目,不知道的同学可以查看之前的文章 5分钟学会如何创建spring boot项目. 为了让大家脱单,码哥简直费尽心思,今天这个技能或许可以让你脱单! 今天我们 ...

随机推荐

  1. Redis数据库之编程项目及练习资源

    实训项目 :   NOSQL数据库设计与应用实训         注释:   Redis数据库编程项目示例及练习资源 项目源码获取: https://pan.baidu.com/s/19f0F7cmx ...

  2. 报表统计——java实现查询某年某月每天数据,没数据补0

    一般图表绘制例如echarts等,返回数据格式都大同小异.重点是利用sql或者java实现数据格式的转型,接下来是关键部分: 1.前提:提供的工具方法——获取某月有多少天 //通过年份和月份确定该月的 ...

  3. 【SQL server初级】数据库性能优化三:程序操作优化

    数据库优化包含以下三部分,数据库自身的优化,数据库表优化,程序操作优化.此文为第三部分 数据库性能优化三:程序操作优化 概述:程序访问优化也可以认为是访问SQL语句的优化,一个好的SQL语句是可以减少 ...

  4. 002-python函数、高级特性

    1.函数 1.1 定义函数 在Python中,定义一个函数要使用def语句,依次写出函数名.括号.括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回 自定义一个求绝对 ...

  5. ArcGIS Server服务扩展SOE应用场景

    何时需要使用SOE? 用自己的业务逻辑扩展ArcGIS Server • 分析超越了即拿即用的GP工具 • 功能超越了Esri Web APIS中包含的内容 • 通过其他方式细粒度的ArcObject ...

  6. 『TensorFlow2.0正式版』TF2.0+Keras速成教程·零:开篇简介与环境准备

    此篇教程参考自TensorFlow 2.0 + Keras Crash Course,在原文的基础上进行了适当的总结与改编,以适应于国内开发者的理解与使用,水平有限,如果写的不对的地方欢迎大家评论指出 ...

  7. [以太坊源代码分析] I.区块和交易,合约和虚拟机

    最近在看以太坊(Ethereum)的源代码, 初初看出点眉目. 区块链是近年热点之一,面向大众读者介绍概念的文章无数,有兴趣的朋友可自行搜索.我会从源代码实现入手,较系统的介绍一下以太坊的系统设计和协 ...

  8. Java如何安装JDK,配置环境变量。超级详细图及操作

    突然想起自己大学刚接触java的时候,要下载JDK和配置环境变量,那时候我上网找了很多教学,结果发现很多的博主都是表达不太清晰,或者是我理解能力差点,导致我那时候搞了一个多小时才搞定,而且事后每次我重 ...

  9. MyBatis resultType用Map 返回值中有NULL则缺少字段 返回值全NULL则map为null

    这个问题我大概花了2个小时才找到结果 总共需要2个设置 这里是对应springboot中的配置写法 @select("select sum(a) a,sum(b) b from XXX wh ...

  10. opencv之形态变换

    形态变换 在opencv之膨胀与腐蚀中介绍了Dilation/Erosion的原理.建议先读这一篇,搞懂原理. 这样就可以很轻松地理解为什么本文的这些形态变换可以取得相应的效果. 基于此,我们可以组合 ...