一 官方文檔介紹
1 自定義橫幅
通過在 classpath 中添加banner.txt文件或將banner.location
在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
off到false所以如果要在 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 源。在大多數情況下,這些將是@Configurationclasses 的 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] -
