SpringBoot应用搭建之输出自己的Banner
SpringBoot为我们提供了多种Banner形式的支持,可以是gif、png、jpg、字符串等。
Springboot应用在启动的时候,会在Console中输出如下图形:
首先,我们可以控制关闭该图形的输出,关闭方法有两种:
- 第一种,通过配置文件关闭
# 该参数有三个值:console :控制台 log:日志文件 off:不输出
spring.main.banner-mode = off
- 第二种,通过代码关闭
package com.xtoad.study.baseinfo;
import org.springframework.boot.Banner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* 启动类
*
* @author xtoad
* @date 2020/05/29
*/
@SpringBootApplication(scanBasePackages = {"com.xtoad.study"})
public class Application {
public static void main(String[] args) {
SpringApplication springApplication = new SpringApplication(Application.class);
// banner输出方式
springApplication.setBannerMode(Banner.Mode.OFF);
springApplication.run(args);
}
}
其次,我们可以自定义Banner:
SpringBoot为我们提供了多种Banner形式的支持,可以是gif、png、jpg、字符串等。
其中字符串形式的banner可以自己拼,也可以在网上用专门生成banner的工具。搜索 ascii字符画生成器,很多在线工具。
SpringBoot应用启动时会先显示ImageBanner, 而后就是 TextBanner 若是都没有就显示默认的Banner:
- 优先看配置文件有没有配置 spirng.banner.image.location 若是有就走配置文件的内容
- 如果第一步没有,在Classpath下找文件banner.gif、banner.jpg、banner.png,先找到谁就用谁
- 如果第二步没有,继续Classpath下找banner.txt,或者你有定义配置项:banner.location,会去Classpath下找这个配置值的文件
- 上面都没有找到的话,用默认的SpringBootBanner
因此,第一种自定义Banner方式,直接建立一个banner文件放在我们的resources目录下即可:
运行代码:
关于图片banner 的相关配置项可参照下图:
如果你使用的是banner.txt,那么你还可以使用如下的占位符:
- ${application.version}
- ${application.formatted-version}
- ${spring-boot.version}
- ${spring-boot.formatted-version}
- Ansi.NAME(orAnsi.NAME(or{AnsiColor.NAME}
- ${AnsiBackground.NAME}
- ${AnsiStyle.NAME})
- ${application.title}
第二种方式,我们可以编程实现,可以创一个类实现Banner接口,重写printBanner方法:
这里我用匿名类实现:
package com.xtoad.study.baseinfo;
import org.springframework.boot.Banner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.core.env.Environment;
import java.io.PrintStream;
/**
* 启动类
*
* @author xtoad
* @date 2020/05/29
*/
@SpringBootApplication(scanBasePackages = {"com.xtoad.study"})
public class Application {
public static void main(String[] args) {
SpringApplication springApplication = new SpringApplication(Application.class);
springApplication.setBanner(new Banner() {
@Override
public void printBanner(Environment environment, Class<?> sourceClass, PrintStream out) {
out.println("*********************************");
out.println("我要自定义Banner");
out.println("*********************************");
}
});
// banner输出方式
springApplication.setBannerMode(Banner.Mode.CONSOLE);
springApplication.run(args);
}
}
运行效果如下:
最后,推荐使用简单的方式,直接放一个banner.txt在我们的resources下即可!
本文暂时没有评论,来添加一个吧(●'◡'●)