《SpringBoot系列十》:SpringBoot自定义Banner

一、自定义banner

Spring Boot支持图片和文字两种banner样式,而图片会被转化为ASCII字符画展示

《SpringBoot系列十》:SpringBoot自定义Banner_第1张图片

1、自定义文字方式

《SpringBoot系列十》:SpringBoot自定义Banner_第2张图片
这里可以有两种方式:

1)通过在配置文件中指定文件

static final String BANNER_LOCATION_PROPERTY = "spring.banner.location";

1> 在yaml文件中做如下配置:

spring:
  banner:
    location: banner_test.txt

2> 在resources目录下新建banner_test.txt文件:
《SpringBoot系列十》:SpringBoot自定义Banner_第3张图片
3> 控制台输出如下:

《SpringBoot系列十》:SpringBoot自定义Banner_第4张图片

2)默认读取resources目录下的banner.txt文件

static final String DEFAULT_BANNER_LOCATION = "banner.txt";

1> 啥也不要干,只需要在resources目录下新建一个banner.txt文件:

《SpringBoot系列十》:SpringBoot自定义Banner_第5张图片

2> 控制台输出如下:

《SpringBoot系列十》:SpringBoot自定义Banner_第6张图片

2、自定义图片方式

《SpringBoot系列十》:SpringBoot自定义Banner_第7张图片

static final String BANNER_IMAGE_LOCATION_PROPERTY = "spring.banner.image.location";

支持的图片类型:

static final String[] IMAGE_EXTENSION = { "gif", "jpg", "png" };

1> 在yaml文件中做如下配置:

spring:
  banner:
    image:
      location: xiaoniao.jpg

2> 在resources目录下添加xiaoniao.jpg图片:
《SpringBoot系列十》:SpringBoot自定义Banner_第8张图片

3> 控制台输出如下:

在这里插入图片描述

WARN 7716 — [ main] org.springframework.boot.ImageBanner : Image banner not printable: class path resource [xiaoniao.jpg] (class java.lang.IllegalStateException: ‘Unable to read image banner source’)

可以看到已经是使用了图片打印banner,但是打印不出来。

我再换个图片试试:
《SpringBoot系列十》:SpringBoot自定义Banner_第9张图片
输出如下:
《SpringBoot系列十》:SpringBoot自定义Banner_第10张图片
这个图片可以用,但是感觉像乱码呀!这就是我们上面提到的图片会被转化为ASCII字符画展示。所以不要用图片打印banner。

二、banners?

banner可以同时打印自定义文本banner、自定义图片:

比如在resource目录下添加banner.txt的同时,通过spring.banner.image.location指定打印图片的路径。
《SpringBoot系列十》:SpringBoot自定义Banner_第11张图片

示例输出如下:
《SpringBoot系列十》:SpringBoot自定义Banner_第12张图片

你可能感兴趣的:(Spring,Boot系列,java,spring,boot)