今天小编来讲一讲如何修改SpringBoot的启动图标?

1、SpringBoot默认启动图标

首先我们看一下SpringBoot启动的默认图标是什么样子的?

如何修改SpringBoot的启动图标

2、设置个性化的图标

我们可以通过一些网站来将自己的特定文本转换为上图图标的样式
http://www.network-science.de/ascii/

如何修改SpringBoot的启动图标

如何修改默认启动图标

1、通过banner.txt

我们只需要在项目的 resources 下新建 banner.txt , 将我们要显示的图标文本信息复制粘贴到banner.txt文件后,系统启动后会自动加载此文件。

如何修改SpringBoot的启动图标
上述缺点是无法像显示当前SpringBoot的版本信息,为了解决这个问题我们可以用下面的方法来解决

2、新建Banner的实现类

我们新建一个NtsdBanner类并且实现Banner的接口,将自定义图标文本设置为BANNER的值。

package com.ntsd.bm.utils;

import org.springframework.boot.Banner;
import org.springframework.boot.SpringBootVersion;
import org.springframework.boot.ansi.AnsiColor;
import org.springframework.boot.ansi.AnsiOutput;
import org.springframework.boot.ansi.AnsiStyle;
import org.springframework.core.env.Environment;

import java.io.PrintStream;

public class NtsdBanner implements Banner {


    private static final String BANNER = " _   _ ______ _______ _____ _____          _____  \n" +
            "| \\ | |  ____|__   __/ ____|  __ \\   /\\   |  __ \\ \n" +
            "|  \\| | |__     | | | (___ | |  | | /  \\  | |__) |\n" +
            "| . ` |  __|    | |  \\___ \\| |  | |/ /\\ \\ |  _  / \n" +
            "| |\\  | |____   | |  ____) | |__| / ____ \\| | \\ \\ \n" +
            "|_| \\_|______|  |_| |_____/|_____/_/    \\_\\_|  \\_\\";

    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) {

        printStream.println(BANNER);
        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();
    }

}

然后修改SpringBoot的启动类,如下:

package com.ntsd.bm;

import com.ntsd.bm.utils.NtsdBanner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class BmApplication {

    public static void main(String[] args) {
//        SpringApplication.run(BmApplication.class, args);
        SpringApplication newRun= new SpringApplication(BmApplication.class);
        newRun.setBanner(new NtsdBanner());
        newRun.run(args);
    }

}

至此项目启动后,就可以完美的显示了。

如何修改SpringBoot的启动图标