Banner是SpringBoot框架一個特色的部分,其設計的目的無非就是一個框架的標識,其中包含了版本號、框架名稱等內(nèi)容,既然SpringBoot為我們提供了這個模塊,它肯定也是可以更換的這也是Spring開源框架的設計理念。
免費教程專題
恒宇少年在博客整理三套免費學習教程專題,由于文章偏多特意添加了閱讀指南,新文章以及之前的文章都會在專題內(nèi)陸續(xù)填充,希望可以幫助大家解惑更多知識點。
本章目標
修改SpringBoot啟動Banner內(nèi)容.
SpringBoot 企業(yè)級核心技術學習專題
| 專題 | 專題名稱 | 專題描述 |
|---|---|---|
| 001 | Spring Boot 核心技術 | 講解SpringBoot一些企業(yè)級層面的核心組件 |
| 002 | Spring Boot 核心技術章節(jié)源碼 | Spring Boot 核心技術簡書每一篇文章碼云對應源碼 |
| 003 | Spring Cloud 核心技術 | 對Spring Cloud核心技術全面講解 |
| 004 | Spring Cloud 核心技術章節(jié)源碼 | Spring Cloud 核心技術簡書每一篇文章對應源碼 |
| 005 | QueryDSL 核心技術 | 全面講解QueryDSL核心技術以及基于SpringBoot整合SpringDataJPA |
| 006 | SpringDataJPA 核心技術 | 全面講解SpringDataJPA核心技術 |
| 007 | SpringBoot核心技術學習目錄 | SpringBoot系統(tǒng)的學習目錄,敬請關注點贊?。? |
構建項目
本章不涉及業(yè)務邏輯相關內(nèi)容,簡單創(chuàng)建一個
SpringBoot框架即可。
Banner的隱藏
隱藏的方式SpringBoot提供了兩種,不過其中application.properties方式已經(jīng)被拋棄掉了,我們下面介紹下修改SpringBootApplication配置的方式。具體代碼如下所示:
package com.yuqiyu.chapter33;
import org.springframework.boot.Banner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Chapter33Application {
public static void main(String[] args) {
/**
* 隱藏banner啟動方式
*/
SpringApplication springApplication = new SpringApplication(Chapter33Application.class);
//設置banner的模式為隱藏
springApplication.setBannerMode(Banner.Mode.OFF);
//啟動springboot應用程序
springApplication.run(args);
//原啟動方式
/*SpringApplication.run(Chapter33Application.class, args);*/
}
}
配置完成后,我們啟動項目在控制臺你就會發(fā)現(xiàn)Banner已經(jīng)隱藏不見了,當然我們也是可以更換Banner內(nèi)容的。
Banner的更換
更換Banner相對于隱藏要簡單一些,我們只需要在src/main/resource下添加一個名叫banner.txt的文件,將需要修改的內(nèi)容寫入到該文件內(nèi)就可以了,具體Banner內(nèi)容如下所示:
${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`枚舉內(nèi),用于配置的是輸出的顏色??膳渲脙?nèi)容如下所示:
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枚舉內(nèi),可配置的內(nèi)容如下所示:
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的內(nèi)容可根據(jù)自己的愛好進行配置,上述banner.txt的效果如下圖1所示:

總結
本章主要講解了如何隱藏與修改SpringBoot內(nèi)的Banner內(nèi)容,SpringBoot為我們提供了最大的遍歷,讓我們根據(jù)其中的一些屬性自由組合配置內(nèi)容。
本章代碼已經(jīng)上傳到碼云:
SpringBoot配套源碼地址:https://gitee.com/hengboy/spring-boot-chapter
SpringCloud配套源碼地址:https://gitee.com/hengboy/spring-cloud-chapter