千家信息网

SpringBoot中banner怎么使用

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍"SpringBoot中banner怎么使用"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"SpringBoot中banner怎么使用"文章能帮
千家信息网最后更新 2026年11月01日SpringBoot中banner怎么使用

这篇文章主要介绍"SpringBoot中banner怎么使用"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"SpringBoot中banner怎么使用"文章能帮助大家解决问题。

制作自己的banner

第一步:在src/main/resources下面创建banner.txt。

第二步:访问网站 http://patorjk.com/software/taag,在网站"Type Something "处输入想要制作的单词(比如:Hello World),会生成对应的字符。也可以通过其他参数来调整字符的样式。

复制生成的字符,粘贴到banner.txt,再次启动程序便可以打印出指定的banner了。

个人比较喜欢的banner是如下图形:

${AnsiColor.BRIGHT_YELLOW}//////////////////////////////////////////////////////////////////////             _ooOoo_                ////             o8888888o               ////             88" . "88               ////             (| ^_^ |)               ////             O\ = /O               ////           ____/`---'\____              ////          .' \\|   |// `.             ////          / \\||| : |||// \            ////         / _||||| -:- |||||- \            ////         |  | \\\ - /// |  |            ////         | \_| ''\---/'' |  |            ////         \ .-\__ `-` ___/-. /            ////        ___`. .' /--.--\ `. . ___           ////       ."" '< `.___\_<|>_/___.' >'"".         ////      | | : `- \`.;`\ _ /`;.`/ - ` : | |         ////      \ \ `-.  \_ __\ /__ _/  .-` / /         ////   ========`-.____`-.___\_____/___.-`____.-'========     ////              `=---='               ////   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^    ////      佛祖保佑    永不宕机   永无BUG         //////////////////////////////////////////////////////////////////////

在新版本的SpringBoot中,支持了gif、jpg和png的图片形式的banner打印。当然,并不会把图片直接打印在控制台,而是将其像素解析转换成assii编码之后打印。

对于gif动图,会把动图的每个图片都打印出来,如果动图比较大,打印时间较长。可以尝试一下,但建议不要使用gif。

在banner.txt中,还可以进行一些设置,比如上图中的${AnsiColor.BRIGHT_YELLOW}。

  • AnsiColor.BRIGHT_RED:设置控制台中输出内容的颜色

  • application.version:用来获取MANIFEST.MF文件中的版本号

  • application.formatted-version:格式化后的application.version版本信息

  • spring-boot.version:Spring Boot的版本号

  • spring-boot.formatted-version:格式化后的spring-boot.version版本信息

Banner接口

在未指定banner.txt或banner图片时,默认图形存储在哪里了呢?下面我们了解一下Banner接口。

@FunctionalInterfacepublic interface Banner {  // 打印banner  void printBanner(Environment environment, Class sourceClass, PrintStream out);  enum Mode {    // 关闭    OFF,    // 控制台    CONSOLE,    // 日志文件    LOG  }}

在banner接口中提供了打印banner的方法和一个枚举类。枚举类有三个值:OFF、CONSOLE、LOG,用来控制banner的打印,分别对应:关闭打印、控制台打印和日志打印。

banner接口的实现主要有ResourceBanner、ImageBanner、SpringBootBanner和其他内部类的实现。其中上面看到的图形的打印就来自于SpringBootBanner。看一下源代码:

class SpringBootBanner implements Banner {  private static final String[] BANNER = { "",      " .  ____     _      __ _ _",      " /\\\\ / ___'_ __ _ _(_)_ __ __ _ \\ \\ \\ \\",      "( ( )\\___ | '_ | '_| | '_ \\/ _` | \\ \\ \\ \\",      " \\\\/ ___)| |_)| | | | | || (_| | ) ) ) )",      " ' |____| .__|_| |_|_| |_\\__, | / / / /",      " =========|_|==============|___/=/_/_/_/" };  private static final String SPRING_BOOT = " :: Spring Boot :: ";  private static final int STRAP_LINE_SIZE = 42;  @Override  public void printBanner(Environment environment, Class sourceClass,      PrintStream printStream) {    for (String line : BANNER) {      printStream.println(line);    }    String version = SpringBootVersion.getVersion();    version = (version != null) ? " (v" + version + ")" : "";    StringBuilder padding = new StringBuilder();    while (padding.length() < STRAP_LINE_SIZE        - (version.length() + SPRING_BOOT.length())) {      padding.append(" ");    }    printStream.println(AnsiOutput.toString(AnsiColor.GREEN, SPRING_BOOT,        AnsiColor.DEFAULT, padding.toString(), AnsiStyle.FAINT, version));    printStream.println();  }}

在printBanner的方法实现中,首先打印了默认的Banner字符串数组,然后将SPRING_BOOT和版本信息进行拼接打印。

Banner的参数设置

banner的参数设定可以通过两种形式,一种是代码的形式,一种是配置文件的形式。

使用代码的形式首先要将默认的main方法进行改造,手动创建SpringApplication对象,然后设置相应的参数。示例代码:

public static void main(String[] args) {  SpringApplication app = new SpringApplication(SpringbootBannerApplication.class);  app.setBannerMode(Banner.Mode.CONSOLE);  Banner banner = new ImageBanner(new ClassPathResource("banner1.png"));  app.setBanner(banner);  app.run(args);}

通过配置文件设置就比较简单,直接在application.properties中进行配置,springboot已经帮我们预制好了相应的参数。

spring.banner.location=classpath:banner1.pngspring.banner.image.margin=2spring.banner.image.height=76spring.banner.charset=UTF-8spring.banner.image.invert=falsespring.banner.image.location=banner1.pngspring.main.banner-mode=consolespring.main.show-banner=true

其中spring.main.show-banner来控制是否打印banner,在新版本中不建议使用,可以使用spring.main.banner-mode代替,将其值设置为OFF即可关闭banner的打印。

引入文本banner通过spring.banner.location来指定,引入图片相关的banner需要通过spring.banner.image.location来指定路径,否则会出现乱码情况。

如果不想显示banner,可以在代码中通过setBannerMode(Banner.Mode.OFF)方法或通过参数配置spring.main.banner-mode=off来关闭banner的打印。上面示例中已经有所展示。

关于"SpringBoot中banner怎么使用"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。

参数 控制 图片 形式 方法 版本 代码 字符 接口 控制台 文件 配置 信息 图形 知识 内容 可以通过 建议 日志 格式 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网佳科技有限公司 互联网和科技创新 科技互联网公司装修 互联网未来科技 南京欣网互联网科技 互联网 科技服务平台 卓越科技互联网 招聘 镁科技互联网资讯平台 恒生科技互联网指数分析 云创客互联网科技公司 成都铂石互联网科技做什么的 互联网5g黑科技有哪些 米聚互联网科技南京有限公司排面 互联网金融科技展 合肥互联网科技公司公章图片 广州百诚互联网科技有限公司官网 云鲸互联网络科技有限公司 万物互联网智能科技 中国主要互联网科技公司 山东亿川互联网科技有限责任公司 中国互联网科技工作委员会毛军 青岛互联网科技公司 礼当家互联网科技 团飞科技与伯堂互联网服务平台 金融科技与互联网金融相同和不同 上海京穆互联网科技有限公司 互联网风格科技公司名称 互联网科技博主张洲 知域互联网科技有限公司官网 颐高云石互联网科技
0