玩转springboot启动banner定义所得

最近接手了一个springboot项目,不是不熟悉这个框架,启动时打印的信息吸引了我。
玩转springboot启动banner定义所得_第1张图片

这不是我熟悉的常用springboot的打印信息啊,我打开自己的项目:

玩转springboot启动banner定义所得_第2张图片

还真是的,不用默认的感觉也挺高大上的。一时兴起,就去研究了一下源代码,还正是有些收获,稍后我会总结一下。正常情况下做为一个老程序员,是不会对这种小儿科感兴趣的,不就是一个控制台打印嘛。哈哈!

于是出于最初的好奇,研究了项目的源代码。看到了banner.txt文件,项目里面没有代码引用呀,于是发现了springboot的这个小确幸。上网学习和整理了一下相关的知识如下:

1 banner的使用

玩转springboot启动banner定义所得_第3张图片

springboot启动时会加载默认的banner信息,控制台打印springboot启动相关信息。这个可以使用banner.txt重新定义banner信息。

#banner.txt文件内容
Application Version: ${bwscm.version}
Spring Boot Version: ${spring-boot.version}
                                              _
                                             (_)
   __ _ _ __  _ __     _ __ _   _ _ __  _ __  _ _ __   __ _
  / _` | '_ \| '_ \   | '__| | | | '_ \| '_ \| | '_ \ / _` |
 | (_| | |_) | |_) |  | |  | |_| | | | | | | | | | | | (_| |
  \__,_| .__/| .__/   |_|   \__,_|_| |_|_| |_|_|_| |_|\__, |
       | |   | |                                       __/ |
       |_|   |_|                                      |___/

文件内容可以参数化,参数可以使用application.yml里面的定义(如:bwscm.version),也可以使用springboot默认的属性参数(如:spring-boot.version)。
不要banner时,也可以关闭:
玩转springboot启动banner定义所得_第4张图片
添加成功打印信息,也可以用banner:
玩转springboot启动banner定义所得_第5张图片
非守护进程:
玩转springboot启动banner定义所得_第6张图片

#keepRunning方法定义。
/**
     * 阻塞main方法
     * @throws InterruptedException
     */
    private static void keepRunning() throws InterruptedException {
        Thread t = Thread.currentThread();
        synchronized(t) {
            t.wait();
        }
    }

banner在线生成工具

https://www.bootschool.net/ascii

http://patorjk.com/software/taag/(我比较喜欢用这个)

玩转springboot启动banner定义所得_第7张图片
优点:

  • 切换字体以及输入文字的时候, 会自动输出banner字样。
  • 在输出框中,是可编辑的,可以自己添加版本号,作者简介信息等。
  • 直接copy输出框内容替换banner.txt内容。

banner的用途

那该如何给开源项目添加自定义的banner,提升逼格呢?比如以下自定义的banner:
玩转springboot启动banner定义所得_第8张图片

所得和收获

上文提的,这个过程的收获,总结如下:

1、spring-boot做的真不错,连这么细小的细节的考虑的这么好,使用配置(banner.txt文件)即可替换。

2、最开始老师讲的真没错,java类的应用开发,还是要找到好轮子,不要闭门造车,重复造轮子。

3、保存好奇心很重要,这样才能知识常青,总是有所收获。

4、这些收获应该是比学会springboot的这点知识来说是更重要的所得吧。爱玩,好奇,对于技术人员也是很重要的。

臭味相投的朋友们,我在这里:

猿in小站:http://www.yuanin.net

csdn博客:https://blog.csdn.net/jiabeis

简书:https://www.jianshu.com/u/4cb7d664ec4b

微信免费订阅号“猿in”
玩转springboot启动banner定义所得_第9张图片

你可能感兴趣的:(Java)