更改Spring Boot的启动横幅
概括
在Spring Boot中,可以更改启动时的横幅。
提供了通过简单的文本文件或图片文件进行替换以及通过高度可定制的逻辑进行更改的选项。
使用文本文件展示横幅广告。


在文本中,可以使用${spring-boot.version}来显示Spring Boot的版本,或者使用${application.version}来显示应用程序的版本。同时,也可以使用${AnsiColor.BLUE}等方式来改变文字颜色。
1: 如果从Eclipse或其他开发工具启动,将不会显示该信息,该信息将从MANIFEST.MF文件中加载。
展示从图像中创建的横幅。
如果将 banner.gif、banner.jpg、banner.png 等文件放置在 /src/main/resources 中,在启动时将以 ASCII 艺术形式显示。


通过逻辑设计的横幅展示
通过实现org.springframework.boot.Banner类,可以准备一个类来以自定义逻辑显示横幅。
Cowsay实施示例中的随机字符实现
@SpringBootApplication
public class SpringBootBannerSampleApplication {
public static void main(String[] args) {
SpringApplication app = new SpringApplication(SpringBootBannerSampleApplication.class);
app.setBanner(new CustomBanner());
app.run(args);
}
}
public class CustomBanner implements Banner {
private static final String SEPARATOR = System.getProperty("line.separator");
@Override
public void printBanner(Environment environment, Class<?> sourceClass, PrintStream printStream) {
String[] charList = Cowsay.say(new String[]{"-l"}).split(SEPARATOR);
Random rand = new Random();
int sayChar = rand.nextInt(charList.length);
String version = SpringBootVersion.getVersion();
String[] args = new String[]{"-f", charList[sayChar], "Spring Boot " + version};
String result = Cowsay.say(args);
printStream.println(result);
}
}
