spring boot 更改或关闭logo,自定义banner图标及网址

关闭springboot的日志logo

复制代码
@SpringBootApplication
public class Application  {
 public static void main(String[] args) {
        // 启动Springboot,启动Spring容器
        SpringApplication springApplication = new SpringApplication(Application.class);
        springApplication.setBannerMode(Banner.Mode.OFF);
        springApplication.run(args);
    }
}
复制代码

 

1、Banner效果展示

Spring Boot 默认的 banner 图展示效果如下:

 

 我们可以把它变成这样的以及其他样式:

 不但能自定义内容,还能自定义颜色。

1.1 通过txt文件实现

我们可以在 Spring Boot 工程的 /src/main/resources 目录下创建一个 banner.txt 文件,然后将 ASCII 字符画复制进去,就能替换默认的 banner 了,如下图所示:

 

 当然你也可以使用图片的方式来自定义 banner。

 我们可以使用 banner.gif 来实现动态 banner 的效果,动手试试吧。此种方式实现起来比较简单,且是无代码侵入式的,推荐使用这种方式。

2、Banner样式控制

上面讲了 banner 文字部分的修改,我们还可以修改 banner 的演示以及其他属性,例如字体的样式,粗体、斜体等,Spring Boot 为提供了三个枚举类来设定这些样式,他们分别是:

  • AnsiColor:用来设定字符的前景色;
  • AnsiBackground:用来设定字符的背景色。
  • AnsiStyle:用来控制加粗、斜体、下划线等等。

例如,我们可以使用 AnsiColor 来设置颜色,banner.txt 中的信息如下:

${AnsiColor.BRIGHT_RED}  _  _              _       _
${AnsiColor.BRIGHT_RED} | || |    ___     | |     | |     ___
${AnsiColor.BRIGHT_YELLOW} | __ |   / -_)    | |     | |    / _ \
${AnsiColor.BRIGHT_YELLOW} |_||_|   \___|   _|_|_   _|_|_   \___/
${AnsiColor.BRIGHT_RED}_|"""""|_|"""""|_|"""""|_|"""""|_|"""""|
${AnsiColor.BRIGHT_RED}"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'

最终的展示效果如下图所示:

3、Banner使用输出变量

在 banner.txt 中我们还可以输出一些全局变量,例如:

  • ${application.version}:用来获取 MANIFEST.MF 文件中的版本号;
  • application.formatted-version:格式化后的{application.vesion}版本信息;
  • ${spring-boot.version}:Spring Boot 版本号;
  • application-boot.formatted-version:{spring-boot.version} 版本信息。

使用示例如下:

1
2
3
4
5
6
7
8
9
10
11
12
      /¯¯¯¯\    
    o-|[][]|-o  
      |_--_|    
   /¯¯¯¯¯¯¯¯¯¯\ 
   |||  «»  ||| 
   |||      ||| 
  (o)|      |(o)
     |  ||  |   
     |__||__|   
     |__||__|
 
Spring Boot 版本:${spring-boot.version} 

4、Banner图在线生成

在线生成 banner 的地址:

 

 

参考:https://segmentfault.com/a/1190000022429097

posted @   Mr_li_one  阅读(1666)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示