文章一开始的佛祖图形,你会发现是翠绿色的。其实 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 如下:
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