1. 引言
Spring Boot 最引人入勝的特性之一是其啓動橫幅。在過去的一年中,Spring Boot 已經演變為支持各種類型的橫幅。例如,在 Spring Boot 1.3 中,添加了文本和背景顏色支持。
在本快速教程中,我們將探討 Spring Boot 的顏色橫幅支持以及如何使用它。
2. 修改背景顏色
要為 Spring Boot 標誌添加背景顏色,我們只需在 banner.txt 文件中的行前添加所需的顏色代碼,使用 AnsiBackground 類即可。
例如,讓我們創建一個 banner.txt 文件,使整個背景變為紅色:
${AnsiBackground.RED}
___ _ _ _
/ __| ___ | | (_) __| |
\__ \ / _ \ | | | | / _` |
|___/ \___/ |_| |_| \__,_|
${AnsiBackground.DEFAULT}事實上,我們可以在一個橫幅中使用任意數量的背景顏色。
例如,我們可以為每一行設置不同的背景顏色。我們只需在每一行前面加上所需的顏色:
${AnsiBackground.RED} ____ _ __
${AnsiBackground.BLUE} / __ \ ____ _ (_) ____ / /_ ____ _ __
${AnsiBackground.YELLOW} / /_/ / / __ `/ / / / __ \ / __ \ / __ \| | /| / /
${AnsiBackground.GREEN} / _, _/ / /_/ / / / / / / / / /_/ // /_/ /| |/ |/ /
${AnsiBackground.MAGENTA}/_/ |_| \__,_/ /_/ /_/ /_/ /_.___/ \____/ |__/|__/
${AnsiBackground.DEFAULT}
請務必記住,我們應用程序的所有日誌記錄都將使用 banner.txt 中最後指定的背景顏色。因此,始終以默認顏色結尾 banner.txt 文件 是最佳實踐。
3. 修改文本顏色
要更改文本顏色,我們可以使用 <em >AnsiColor</em> 類。 類似於 <em >AnsiBackground</em> 類,它具有預定義的顏色常量,我們可以從中選擇。
我們只需在每個字符組的前面加上所需的顏色:
${AnsiColor.RED}.------.${AnsiColor.BLACK}.------.
${AnsiColor.RED}|A.--. |${AnsiColor.BLACK}|K.--. |
${AnsiColor.RED}| (\/) |${AnsiColor.BLACK}| (\/) |
${AnsiColor.RED}| :\/: |${AnsiColor.BLACK}| :\/: |
${AnsiColor.RED}| '--'A|${AnsiColor.BLACK}| '--'K|
${AnsiColor.RED}`------'${AnsiColor.BLACK}`------'
${AnsiColor.DEFAULT}與背景顏色類似,請務必確保橫幅的最後一行始終將顏色重置為默認值。
4. ANSI 8 位顏色
Spring Boot 2.2 的一項新功能是支持 ANSI 8 位顏色。 相較於僅限於少數預定義的顏色,我們可以使用完整的 256 色範圍來指定文本和背景顏色。
要利用這些新顏色,AnsiColor 和 AnsiBackground 屬性現在接受數值作為參數,而不是顏色名稱:
${AnsiColor.1}${AnsiBackground.233} ______ __________ .___ ___________
${AnsiBackground.235} / __ \ \______ \| |\__ ___/
${AnsiBackground.237} > < | | _/| | | |
${AnsiBackground.239}/ -- \ | | \| | | |
${AnsiBackground.241}\______ / |______ /|___| |____|
${AnsiBackground.243} \/ \/
${AnsiBackground.DEFAULT}${AnsiColor.DEFAULT}請注意,我們可以以任何方式混合文本和背景屬性。 甚至可以在同一橫幅中混合新的 8 位顏色代碼和舊的顏色常量。
5. 結論
在本文中,我們學習瞭如何更改 Spring Boot 啓動標誌的文本和背景顏色。
我們還了解到,較新的 Spring Boot 版本支持 ANSI 8 位顏色代碼。