天天看點

第二章 Springboot 自定義banner圖案

一:場景描述

Springboot預設開啟banner,在項目啟動時會在控制台預設列印spring圖案。

第二章 Springboot 自定義banner圖案

SpringBoot有一個接口org.springframework.boot.Banner實作這個操作。故我們可以實作這個接口來列印自定義banner資訊,但是不推薦,因為這不是什麼重要的功能,沒必要,既然SpringBoot提供了這個功能,肯定為我們實作了。

二:自定義Banner

在Springboot工程的src/main/resources目錄下建立banner.txt檔案,将想要顯示的ASCII字元複制到banner.txt檔案中,啟動工程即可。

第二章 Springboot 自定義banner圖案

banner.txt檔案中的内容如下:

${AnsiColor.BRIGHT_RED}
___  ___                 _               _       
|  \/  |                | |             | |      
| .  . |_ __ _ __   ___ | |__   ___   __| |_   _ 
| |\/| | '__| '_ \ / _ \| '_ \ / _ \ / _` | | | |
| |  | | | _| | | | (_) | |_) | (_) | (_| | |_| |
\_|  |_/_|(_)_| |_|\___/|_.__/ \___/ \__,_|\__, |
                                            __/ |
                                           |___/ 
                                           
${AnsiStyle.NORMAL}${AnsiColor.CYAN}歡迎閱讀,作者:${application.author}
${AnsiColor.YELLOW}
Springboot的版本号:${spring-boot.version}
           
三:參數詳解

${AnsiColor.BRIGHT_RED}:設定控制台輸出的内容顔色

${application.author}:application.yml檔案中自定義的配置變量

${spring-boot.version}:Springboot的版本号

下面介紹兩個個性化制作ASCII字元和圖案的網址:

定制化ASCII字元:http://network-science.de/ascii/

定制化ASCII圖檔:https://www.degraeve.com/img2txt.php

Spring提供了三個枚舉類來設定字元的樣式:

  1. AnsiColor:設定字元的前景色
  2. AnsiBackground:設定字元的背景色
  3. AnsiStyle:控制加粗、斜體、下劃線等等。
四:Banner加載順序

在Classpath下依次尋找banner.gif,banner.jpg,banner.png,banner.txt檔案,先找到誰就用誰。若都沒有找到的話, 用預設的SpringBootBanner。

五:關閉Banner圖案
  1. 在啟動類中進行關閉
package com.nobody;

import org.springframework.boot.Banner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Application {

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

}

           
  1. 配置檔案中設定關閉
spring:
  main:
    banner-mode: off
           

如果啟動類跟配置檔案中都配置了對banner開關的設定,配置檔案中設定的banner開關會優先于啟動類中設定的開關。

繼續閱讀