简介

Banner是指应用程序启动时显示的信息。对于Spring Boot应用来说,默认情况下,当你启动一个 Spring Boot应用时,控制台上会打印出一段由 Spring Boot自带的ASCII艺术字样的 banner。这不仅是为了美观,也是一种品牌标识的方式。然而,Spring Boot允许开发者通过简单的配置来替换这个默认的 banner,以展示自己的个性化内容。

原理

Spring Boot在启动过程中会自动加载src/main/resources 目录下的banner.txt文件,并将其内容作为启动 banner输出到控制台。此外,Spring Boot还支持从banner.gifbanner.jpgbanner.png 图片文件中读取并转换为ASCII字符输出。如果找不到这些文件,它将使用默认的banner

具体如下:SpringApplication类中的printBanner()方法负责处理banner的加载与显示。它首先尝试从环境变量中获取banner的位置,如果没有指定,则按照一定的顺序查找资源文件。一旦找到合适的banner资源,就会调用相应的ResourceBannerImageBanner实现类来解析并输出内容。

使用

使用文本文件定制 Banner

最简单的方法是创建一个名为banner.txt的文本文件,并将它放在src/main/resources目录下。你可以在banner.txt中添加任何你喜欢的文字或ASCII艺术图案。例如:

   ____          _            __  __ _
/ ___|___ __| | ___ | \/ (_)_ __
| | / _ \ / _` |/ _ \_____| |\/| | | '_ \
| |__| (_) | (_| | __/_____| | | | | |_) |
\____\___/ \__,_|\___| |_| |_|_| .__/
|_|

使用属性动态调整 Banner 内容

利用Spring Boot的占位符功能,在banner.txt中插入一些动态的内容,如应用版本号、运行环境等。例如:

${AnsiColor.BRIGHT_GREEN}Hello, ${spring-boot.version}${AnsiColor.BRIGHT_RED}

根据实际的 Spring Boot 版本号动态地替换 ${spring-boot.version}

图像 Banner

除了文本之外,还可以使用图片作为banner。只需将图片命名为banner.gifbanner.jpg banner.png 并放置于resources文件夹下即可。不过需要注意的是,图片会被转换为ASCII字符形式展示,因此清晰度可能会有所损失。

配置属性

如果不需要显示任何banner,可以通过在application.propertiesapplication.yml 中设置 spring.main.banner-mode=off 来禁用它。指定banner文件路径可以用spring.banner.location=classpath:my-banner.txt

在线生成平台

可以使用在线的 Banner 生成工具进行生成直接使用。(直接网络上检索即可)


结束

🎀springboot banner介绍及使用的更多相关文章

  1. springboot简单介绍

    1.springboot简单介绍 微服务架构 Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程. 该框架使用了特定的方 ...

  2. SpringBoot配置介绍

    SpringBoot配置介绍 SpringBoot如何进行配置 在SpringBoot中默认使用Servlet3.0可以没有web.xml,没有任何的xml,我们想要做一些自定义配置,比u数据库相关信 ...

  3. Spring-Boot Banner

    下载Spring-Boot源码,目录结构spring-boot-2.1.0.M2\spring-boot-2.1.0.M2\spring-boot-project\spring-boot\src\ma ...

  4. springboot入门介绍

    1. SpringBoot学习之@SpringBootApplication注解 下面是我们经常见到SpringBoot启动类代码: @SpringBootApplicationpublic clas ...

  5. 教你如何快速定制 SpringBoot banner

    之前说过如何快速创建SpringBoot项目,不知道的同学可以查看之前的文章 5分钟学会如何创建spring boot项目. 为了让大家脱单,码哥简直费尽心思,今天这个技能或许可以让你脱单! 今天我们 ...

  6. SpringBoot简要介绍

    一 SpringBoot介绍 1.1 先从Spring谈起 我们知道Spring是重量级企业开发框架 Enterprise JavaBean(EJB) 的替代品,Spring为企业级Java开发提供了 ...

  7. SpringBoot Banner 图片定制修改

    启动Spring Boot项目的时候,在控制台会默认输出一个启动图案 这个图案如果你需要的话是可以自己修改的,修改方式很简单: 1. 在src/main/resources下新建一个banner.tx ...

  8. springboot整体介绍

    1.springboot:快速开发,强大的运维能力.(监控,服务发现,并打) 2.微服务,将一个大系统分解成很多独立的小服务,这些服务能随时发布. 3.2004年第一版spring 1.0,rod j ...

  9. SpringBoot AOP介绍

    说起spring,我们知道其最核心的两个功能就是AOP(面向切面)和IOC(控制反转),这边文章来总结一下SpringBoot如何整合使用AOP. 一.示例应用场景:对所有的web请求做切面来记录日志 ...

  10. SpringBoot初步介绍及安装

    SpringBoot的四个核心: 自动配置: 起步依赖: 命令行界面: Actuator: SpringBoot的web起步依赖:org.springframework.boot:spring-boo ...

随机推荐

  1. OS:MMU

    MMU? 全称:memory management unit [内存管理单元] 是: 1.CPU中用来管理虚拟存储器.物理存储器的控制线路 2.同时也负责虚拟地址映射为物理地址 3.以及提供硬件机制的 ...

  2. IOC 操作Bean管理(xml 注入集合属性)+(bean 作用域)

    1.注入数组类型属性2.注入 List 集合类型属性3.注入 Map 集合类型属性(1)创建类,定义数组.list.map.set 类型属性,生成对应 set 方法 public class Stu ...

  3. 深入理解Mybatis分库分表执行原理

    前言 工作多年,分库分表的场景也见到不少了,但是我仍然对其原理一知半解.趁着放假前时间比较富裕,我想要解答三个问题: 为什么mybatis的mapper.xml文件里的sql不需要拼接表名中的分表? ...

  4. 识别与防御CSRF漏洞

    识别与防御CSRF漏洞 CSRF(Cross-Site Request Forgery,跨站请求伪造),通常也被称为"一键攻击"或"会话劫持",其缩写为CSRF ...

  5. 10GSFP+系列光模块

    10GSFP+双纤系列光模块包括SR.LRM.LR.ER.ZR模块,它们的接口类型都是LC双工,且符合IEEE802.3ae.SFF-8472和SFF-8431标准,以下是这几种光模块的具体详情. 1 ...

  6. Clickhouse、Mysql、Presto数据库解析Json数据

    一.Clickhouse解析Json 1.visitParamExtractBool(json,name) → 提取json中的name字段,返回UInt8,0或1   例:visitParamExt ...

  7. 记一次腾讯云轻量级服务器安装mysql配置完成后,外网无法访问问题

    一.配置信息正常 1.防火墙配置通过 2.mysql端口正常启动netstat -antlp | grep 3306 3.配置都正常,但是telnet访问不通超时Operation timed out ...

  8. dbeaver软件使用问题

    一.dbeaver导出数据表到csv后数据乱码 按如下方式导出即可 勾选插入BOM即可 Excel在读取csv的时候是通过读取文件头上的bom来识别编码的,如果文件头无bom信息,则默认按照unico ...

  9. kubernetes 集群中部署 nginx 服务

    kubernetes 部署nginx服务 本章节将介绍如何在kubernetes集群中部署一个nginx服务,并且能够对其进行访问. Namespace Namespace是kubernetes系统中 ...

  10. WPF 线程处理

    参考链接:https://docs.microsoft.com/zh-cn/previous-versions/dotnet/netframework-3.5/ms771750(v=vs.90)