1. 程式人生 > >Spring Boot筆記之自定義啟動banner

Spring Boot筆記之自定義啟動banner

bottom rule mage ack eight ooo manifest log blank

控制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