第二章 Springboot 自定义banner图案

一:场景描述

Springboot默认开启banner,在项目启动时会在控制台默认打印spring图案。
在这里插入图片描述
SpringBoot有一个接口org.springframework.boot.Banner实现这个操作。故我们可以实现这个接口来打印自定义banner信息,但是不推荐,因为这不是什么重要的功能,没必要,既然SpringBoot提供了这个功能,肯定为我们实现了。

二:自定义Banner

在Springboot工程的src/main/resources目录下新建banner.txt文件,将想要显示的ASCII字符复制到banner.txt文件中,启动工程即可。
在这里插入图片描述
banner.txt文件中的内容如下:

${AnsiColor.BRIGHT_RED}
___  ___ _ _ |  \/  | | | | | | .  . |_ __ _ __   ___ | |__   ___   __| |_   _ 
| |\/| | '__| '_ \ / _ \| '_ \ / _ \ / _` | | | |
| |  | | | _| | | | (_) | |_) | (_) | (_| | |_| |
\_|  |_/_|(_)_| |_|\___/|_.__/ \___/ \__,_|\__, | __/ | |___/ ${AnsiStyle.NORMAL}${AnsiColor.CYAN}欢迎阅读,作者:${application.author}
${AnsiColor.YELLOW}
Springboot的版本号:${spring-boot.version}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
三:参数详解

${AnsiColor.BRIGHT_RED}:设置控制台输出的内容颜色
${application.author}:application.yml文件中自定义的配置变量
${spring-boot.version}:Springboot的版本号

下面介绍两个个性化制作ASCII字符和图案的网址:
定制化ASCII字符:http://network-science.de/ascii/
定制化ASCII图片:https://www.degraeve.com/img2txt.php

Spring提供了三个枚举类来设定字符的样式:

  1. AnsiColor:设置字符的前景色
  2. AnsiBackground:设置字符的背景色
  3. AnsiStyle:控制加粗、斜体、下划线等等。
四:Banner加载顺序

在Classpath下依次寻找banner.gif,banner.jpg,banner.png,banner.txt文件,先找到谁就用谁。若都没有找到的话, 用默认的SpringBootBanner。

五:关闭Banner图案
  1. 在启动类中进行关闭
package com.nobody;

import org.springframework.boot.Banner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Application {

	public static void main(String[] args) {
		SpringApplication app = new SpringApplication(Application.class);
		app.setBannerMode(Banner.Mode.OFF);
		app.run(args);
	}

}


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  1. 配置文件中设置关闭
spring:
  main: banner-mode: off

  
 
  • 1
  • 2
  • 3

如果启动类跟配置文件中都配置了对banner开关的设置,配置文件中设置的banner开关会优先于启动类中设置的开关。

文章来源: javalib.blog.csdn.net,作者:陈皮的JavaLib,版权归原作者所有,如需转载,请联系作者。

原文链接:javalib.blog.csdn.net/article/details/105747546

(完)