溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Spring Boot 中如何定制 Banner

發(fā)布時(shí)間:2020-07-13 12:55:50 來源:網(wǎng)絡(luò) 閱讀:338 作者:Java筆記丶 欄目:編程語言

本人免費(fèi)整理了Java高級資料,涵蓋了Java、Redis、MongoDB、MySQL、Zookeeper、Spring Cloud、Dubbo高并發(fā)分布式等教程,一共30G,需要自己領(lǐng)取。
傳送門:https://mp.weixin.qq.com/s/JzddfH-7yNudmkjT0IRL8Q

  • 簡介

  • 變量

  • 配置

  • 編程

Spring Boot 啟動時(shí)默認(rèn)會顯示以下 logo:

.???____??????????_????????????__?_?_
?/\\?/?___'_?__?_?_(_)_?__??__?_?\?\?\?\(?(?)\___?|?'_?|?'_|?|?'_?\/?_`?|?\?\?\?\
?\\/??___)|?|_)|?|?|?|?|?||?(_|?|??)?)?)?)
??'??|____|?.__|_|?|_|_|?|_\__,?|?/?/?/?/
?=========|_|==============|___/=/_/_/_/
?::?Spring?Boot?::????????(v2.1.1.RELEASE)

實(shí)際上,Spring Boot 支持自定義 logo 的功能。

讓我們來看看如何實(shí)現(xiàn)的。

簡介

只要你在?resources?目錄下放置名為?banner.txt、banner.gif?、banner.jpg?或?banner.png?的文件,Spring Boot 會自動加載,將其作為啟動時(shí)打印的 logo。

  • 對于文本文件,Spring Boot 會將其直接輸出。

  • 對于圖像文件(?banner.gif?、banner.jpg?或?banner.png?),Spring Boot 會將圖像轉(zhuǎn)為 ASCII 字符,然后輸出。

變量

banner.txt 文件中還可以使用變量來設(shè)置字體、顏色、版本號。

變量描述${application.version}MANIFEST.MF中定義的版本。如:1.0${application.formatted-version}MANIFEST.MF中定義的版本,并添加一個(gè)v前綴。如:v1.0${spring-boot.version}Spring Boot 版本。如:2.1.1.RELEASE.${spring-boot.formatted-version}Spring Boot 版本,并添加一個(gè)v前綴。如:v2.1.1.RELEASE${Ansi.NAME}(or${AnsiColor.NAME},${AnsiBackground.NAME},${AnsiStyle.NAME})ANSI 顏色、字體。更多細(xì)節(jié),參考:AnsiPropertySource。${application.title}MANIFEST.MF中定義的應(yīng)用名。

示例:

在 Spring Boot 項(xiàng)目中的?resources?目錄下添加一個(gè)名為 banner.txt 的文件,內(nèi)容如下:

${AnsiColor.BRIGHT_YELLOW}${AnsiStyle.BOLD}
?________??___??___??________???___???????__???___??___|\???___?\|\??\|\??\|\???___??\|\??\?????|\??\|\??\|\??\\?\??\_|\?\?\??\\\??\?\??\\?\??\?\??\????\?\??\?\??\\\??\
?\?\??\?\\?\?\??\\\??\?\??\\?\??\?\??\??__\?\??\?\??\\\??\
??\?\??\_\\?\?\??\\\??\?\??\\?\??\?\??\|\__\_\??\?\??\\\??\
???\?\_______\?\_______\?\__\\?\__\?\____________\?\_______\
????\|_______|\|_______|\|__|?\|__|\|____________|\|_______|${AnsiBackground.WHITE}${AnsiColor.RED}${AnsiStyle.UNDERLINE}::?Spring?Boot?::?????????????(v${spring-boot.version})::?Spring?Boot?Tutorial?::????(v1.0.0)
注:${}?設(shè)置字體顏色的變量之間不能換行或空格分隔,否則會導(dǎo)致除最后一個(gè)變量外,都不生效。

啟動應(yīng)用后,控制臺將打印如下 logo:


Spring Boot 中如何定制 Banner


推薦兩個(gè)生成字符畫的網(wǎng)站,可以將生成的字符串放入這個(gè)banner.txt?文件:

  • network-science.de/asci

  • patorjk.com/software/ta

配置

application.properties?中與 Banner 相關(guān)的配置:

#?banner?模式。有三種模式:console/log/off#?console?打印到控制臺(通過?System.out)#?log?-?打印到日志中#?off?-?關(guān)閉打印spring.main.banner-mode?=?off#?banner?文件編碼spring.banner.charset?=?UTF-8#?banner?文本文件路徑spring.banner.location?=?classpath:banner.txt#?banner?圖像文件路徑(可以選擇?png,jpg,gif?文件)spring.banner.image.location?=?classpath:banner.gifused).#?圖像?banner?的寬度(字符數(shù))spring.banner.image.width?=?76#?圖像?banner?的高度(字符數(shù))spring.banner.image.height?=#?圖像?banner?的左邊界(字符數(shù))spring.banner.image.margin?=?2#?是否將圖像轉(zhuǎn)為黑色控制臺主題spring.banner.image.invert?=?false

當(dāng)然,你也可以在 YAML 文件中配置,例如:

spring:??main:
????banner-mode:?off

編程

默認(rèn),Spring Boot 會注冊一個(gè)?SpringBootBanner?的單例 Bean,用來負(fù)責(zé)打印 Banner。

如果想完全個(gè)人定制 Banner,可以這么做:先實(shí)現(xiàn)?org.springframework.boot.Banner#printBanner?接口來自己定制 Banner。在將這個(gè) Banner 通過?SpringApplication.setBanner(…)?方法注入 Spring Boot。


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI