Spring Boot - 自定义 Banner 图案 (3)

文章一开始的佛祖图形,你会发现是翠绿色的。其实 Springboot 支持我们修改 banner 的颜色,字体斜体,粗体等样式。SpringBoot 为我们提供了三个枚举类来设定这些样式。

AnsiColor:设定字符的前景色;参考 org.springframework.boot.ansi.AnsiColor 枚举类。

AnsiBackground:设定字符的背景色;参考 org.springframework.boot.ansi.AnsiBackground 枚举类。

AnsiStyle:设定字符的加粗、斜体、下划线等等;参考 org.springframework.boot.ansi.AnsiStyle 枚举类。

而且,在 banner.txt 文件中还可以引用一些全局变量,例如:

${spring-boot.version}:Spring Boot 版本号;

${spring-boot.formatted-version}:格式化后的 Spring Boot 版本号信息。

${application.version}:MANIFEST.MF 文件中的版本号;

${application.formatted-version}:格式化后的 MANIFEST.MF 文件中的版本号信息;

不仅如此,还可以引用我们在配置文件 application.properties 中定义的变量,例如在配置文件中定义了如下变量:

application.auth=chenpi

定义的 banner.txt 文件内容如下:

${AnsiColor.BRIGHT_GREEN} //////////////////////////////////////////////////////////////////// // _ooOoo_ // // o8888888o // // 88" . "88 // // (| ^_^ |) // // O\ = /O // // ____/`---'\____ // // .' \\| |// `. // // / \\||| : |||// \ // // / _||||| -:- |||||- \ // // | | \\\ - /// | | // // | \_| ''\---/'' | | // // \ .-\__ `-` ___/-. / // // ___`. .' /--.--\ `. . ___ // // ."" '< `.___\_<|>_/___.' >'"". // // | | : `- \`.;`\ _ /`;.`/ - ` : | | // // \ \ `-. \_ __\ /__ _/ .-` / / // // ========`-.____`-.___\_____/___.-`____.-'======== // // `=---=' // // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // // 佛祖保佑 永不宕机 永无BUG // //////////////////////////////////////////////////////////////////// ${AnsiColor.BRIGHT_CYAN} Application Version: ${application.version}${application.formatted-version} Spring Boot Version: ${spring-boot.version}${spring-boot.formatted-version} By -- ${application.auth}

启动项目,会在控制台打印的 banner 如下:

Spring Boot - 自定义 Banner 图案

Banner 模式

在 Banner 接口中有定义一个枚举类,这个枚举定义了配置 Banner 的可能枚举值,如下:

@FunctionalInterface public interface Banner { // 用于配置Banner的的枚举值 enum Mode { // 关闭 banner 打印 OFF, // 打印 banner 到 控制台 CONSOLE, // 打印 banner 到日志文件 LOG } }

所以我们可以选择关闭 banner,banner 打印到控制台还是日志文件,如下:

package com.chenpi; import org.springframework.boot.Banner.Mode; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class SpringBootBannerApplication { public static void main(String[] args) { SpringApplication springApplication = new SpringApplication(SpringBootBannerApplication.class); // 关闭 banner springApplication.setBannerMode(Mode.OFF); // 启动 SpringBoot springApplication.run(args); } }

也可以配置文件中设置此值,如下

spring.main.banner-mode=off

如果启动类跟配置文件中都配置了对banner开关的设置,配置文件中设置的banner开关会优先于启动类中设置的开关。

banner 图生成工具

可能有人会问佛祖的图案怎么编辑出来的,其实网上有很多工具可以根据我们输入的内容或者图片,个性化制作ASCII字符和图案,推荐网址如下:

定制化 ASCII 字符:

定制化 ASCII 图片:https://www.degraeve.com/img2txt.php

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zydzzs.html