SpringBoot——Banner介绍
一、什么是Banner
Banner即横幅标语,我们在启动SpringBoot项目时会将Banner信息打印至控制台。我们可以输出一些图形、SpringBoot版本信息等内容。默认情况下是通过实现类SpringBootBanner输出的Banner内容,默认的输出内容如下。

二、自定义Banner
如果不想使用默认的Banner,我们可以通过自定义的方式在控制台输出我们想要打印的内容。SpringBoot支持输出图片和txt文件中的内容。下面以2.3.3.RELEASE版本进行介绍。
自定义Banner文本文件
默认情况下,只需要在resources目录下创建banner.txt文件,当项目启动时即可打印我们banner.txt中的内容。banner.txt文件的内容是只打印字体为黄色的SpringBootDemo和字体为红色的Springboot版本号:

效果如下图:

Banner图片文件
我们也可以将图片作为需要Banner打印的资源,默认情况下,我们只需要将图片放置在resources目录下,并且图片命名为banner.jpg(只支持后缀为gif、jpg、png的格式)即可。如下图:

效果如下图:

注意点
图片和TXT文件可以同时存在并输出,但是图片的优先级高于TXT文件,即项目启动时先输出图片再输出TXT的内容;
若默认情况下,且resources目录下同时存在名为banner,后缀不同的图片,则只会输出其中一张图片,输出的优先级为(banner.gif > banner.jpg > banner.png)。
三、banner.txt文件内容配置介绍
AnsiColor(设置字体颜色)
在banner.txt中可以通过如${AnsiColor.BRIGHT_YELLOW}设置后面输出内容的颜色。SpringBoot共提供了17种字体颜色,分别是DEFAULT、BLACK、RED、GREEN、YELLOW、BLUE、MAGENTA、CYAN、WHITE、BRIGHT_BLACK、BRIGHT_RED、BRIGHT_GREEN、BRIGHT_YELLOW、BRIGHT_BLUE、BRIGHT_MAGENTA、BRIGHT_CYAN、BRIGHT_WHITE。可以通过AnsiColor类查看。
AnsiBackground(设置背景颜色)
在banner.txt中可以通过如${AnsiBackground.BLUE}设置后面输出内容的背景颜色。SpringBoot共提供了17种背景颜色,分别是DEFAULT、BLACK、RED、GREEN、YELLOW、BLUE、MAGENTA、CYAN、WHITE、BRIGHT_BLACK、BRIGHT_RED、BRIGHT_GREEN、BRIGHT_YELLOW、BRIGHT_BLUE、BRIGHT_MAGENTA、BRIGHT_CYAN、BRIGHT_WHITE。可以通过AnsiBackground类查看。
AnsiStyle(设置字体样式)
在banner.txt中可以通过如${AnsiStyle.BOLD}设置后面输出内容的字体样式。SpringBoot共提供了17种背景颜色,分别是NORMAL(正常)、BOLD(加粗)、FAINT(模糊)、ITALIC(倾斜)、UNDERLINE(下划线)。可以通过AnsiStyle类查看。自测字体样式只有BOLD和UNDERLINE生效,NORMAL、BOLD、FAINT、ITALIC效果是一样的。
如果想将输出的Spring Boot Version内容的字体颜色、背景颜色和字体样式均改变可以通过以下方式实现。如将Spring Boot版本号设置为红色字体,白色背景,字体加粗带下划线,可以通过${AnsiColor.BRIGHT_RED}${AnsiBackground.BLACK}${AnsiStyle.UNDERLINE}${AnsiStyle.BOLD}实现样式的多重设置。实现效果如下图。

spring-boot.version
项目所使用的SpringBoot的版本号。
spring-boot.formatted-version
格式化后的${spring-boot.version}版本信息。
application.version
用来获取MANIFEST.MF文件中的版本号。
application.formatted-version
格式化后的${application.version}版本信息。
四、Banner相关属性及配置介绍
spring.main.banner-mode
该属性用于设置程序运行时banner显示的模式。Banner有三种模式:OFF(禁止打印Banner)、CONSOLE(打印Banner至控制台)、LOG(打印Banner至日志文件),可以通过Banner接口下Mode枚举看到。默认值是console。
spring.main.show-banner
该属性用于设置程序运行时是否显示banner,默认值是true。该属性可由上面介绍的spring.main.banner-mode属性替代。
spring.banner.location
该属性用于配置Banner文本资源位置。默认值为classpath:banner.txt,即默认情况下,程序启动时会找resources目录下的banner.txt文件。若配置了该属性,如配置为spring.banner.location=classpath:banner/banner-txt.txt,则项目启动后会去resources/banner目录下加载banner-test.txt文件。
spring.banner.image.location
该属性用于配置Banner图片的文件位置,(也可使用jpg或png)。默认值为classpath:banner.gif,即默认情况下,程序启动时会找resources目录下,名为banner,后缀为(gif,jpg,png)的图片文件。且按gif,jpg,png的顺序匹配后缀,若匹配到则输出该图片。若配置了该属性,如配置为spring.banner.image.location=classpath:banner/banner-image.jpg,则项目启动后会去resources/banner目录下加载banner-image.jpg图片。
spring.banner.charset
该属性用于配置banner文件的字符集编码,默认值是UTF-8。
spring.banner.image.bitdepth
该属性用于配置banner图片的ANSI颜色的位深度,默认值是4。支持的值是4(16色)或8(256色)。
spring.banner.image.height
该属性用于配置banner图像的字符高度(默认基于图像高度)
spring.banner.image.invert
该属性用于配置暗终端主题的图片是否应该倒置,默认值是false。
spring.banner.image.margin
该属性用于配置Banner图片左手图像边距,单位为字符。默认值为2。
spring.banner.image.pixelmode
该属性用于配置渲染图像时要使用的像素模式,默认值为TEXT。可选择模式为TEXT和BLOCK。
spring.banner.image.width
该属性用于配置Banner图像的宽度,单位为chars,默认值为76。
五、禁用Banner打印
Banner有三种模式:OFF(禁止打印Banner)、CONSOLE(打印Banner至控制台)、LOG(打印Banner至日志文件),可以通过Banner接口下Mode枚举看到。如果不想打印Banner内容,可以通过如下四种方式禁用。
通过配置文件方式
在配置文件中配置spring.main.banner-mode=OFF或spring.main.show-banner=false。
通过代码形式
通过setBannerMode方法设置

通过设置虚拟机启动参数
在VM options中设置参数-Dspring.main.banner-mode=OFF。

4.通过Idea设置方式
通过勾选Hide banner隐藏Banner,如下图。

方式3和方式4本质上是一样的,都是通过在设置虚拟机参数的方式禁用Banner的打印。

相关文章:
SpringBoot——Banner介绍
一、什么是BannerBanner即横幅标语,我们在启动SpringBoot项目时会将Banner信息打印至控制台。我们可以输出一些图形、SpringBoot版本信息等内容。默认情况下是通过实现类SpringBootBanner输出的Banner内容,默认的输出内容如下。二、自定义Banner如果不想…...
【STL】综述
STL,一文即可知 文章目录一、STL基本知识概述容器二、序列式容器详述数组容器array向量容器vector双端队列容器deque链式容器list正向链容器forward_list二、关联式容器详述红黑树RB-Tree哈希表参考博客😊点此到文末惊喜↩︎ 一、STL基本知识 概述 STL…...
C++中编译的静态库与动态库
1.什么是库库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。本质上来说库是一种可执行代码的二进制形式,可以被操作系统载…...
JS对象到原始值的转换
JS对象到原始值转换的复杂性 主要由于某些对象类型存在不止一种原始值的表示 对象到原始值转换的三种基本算法 在解释三种算法前需要了解toString valueOf这两个方法 toString 返回对象的字符串表示Array类的toString方法会将每个元素转换为字符串,再使用逗号作为…...
深度复盘-重启 etcd 引发的异常
作者信息: 唐聪、王超凡,腾讯云原生产品中心技术专家,负责腾讯云大规模 TKE 集群和 etcd 控制面稳定性、性能和成本优化工作。 王子勇,腾讯云专家级工程师, 腾讯云计算产品技术服务专家团队负责人。 概况 作为当前中国…...
2023年春招热点面试题(一)------新特性
文章目录一、Spring 6.0 新特性二、Spring Boot 3.0 新特性三、JDK 系列 新特性A.**JDK8新特性(2014年初)(LTS版本)**B. **JDK9新特性(2017年9月)**C.**JDK10新特性(2018年3月)**D.*…...
工程项目管理系统源码+spring cloud 系统管理+java 系统设置+二次开发
工程项目各模块及其功能点清单 一、系统管理 1、数据字典:实现对数据字典标签的增删改查操作 2、编码管理:实现对系统编码的增删改查操作 3、用户管理:管理和查看用户角色 4、菜单管理:实现对系统菜单的增删改查操…...
想要精通算法和SQL的成长之路 - 接雨水
想要精通算法和SQL的成长之路 - 接雨水前言一. 接雨水前言 想要精通算法和SQL的成长之路 - 系列导航 一. 接雨水 原题链接 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 输入:height [0,…...
Vue3 更高效的构建工具——Vite
文章目录前言一、Vite简介1. Vite组成2.为什么选 Vite?二、Vite的优缺点vite优点vite缺点三、使用Vite创建Vue3项目1. 创建 vite 的项目2.项目的结构前言 本文讲解了构建工具 Vite,目前只有vue3才可以使用Vite,如果本文对你有所帮助请三连支持博主。 下…...
优思学院|從《狂飙》高启强爱看的《孙子兵法》到六西格玛项目管理
近期最受人瞩目的,无疑是电视剧《狂飙》中出类拔萃的反派高启强。而在剧中,指引高启强走向顶峰的,正是那部著名的军事经典——《孙子兵法》。 在剧中,高启强在一次村庄改造项目上遇到了困难,但他仍保持冷静࿰…...
如何利用状态机编程实现启保停控制(含Stateflow模型介绍)
状态机的介绍这里不再赘述,概念也很简单没有过多的复杂理论。下面我们直接给出具体实现过程。有限自动状态机详细讲解请参看下面的文章链接: PLC面向对象编程系列之有限状态机(FSM)详解_RXXW_Dor的博客-CSDN博客_有限状态机 plc实现编写PLC控制机器动作类程序时,当分支比较…...
4. sql 语句中常用命令
1. 数据表: 本文中所有命令,测试的数据表结构如下图: 2. 查询语句: 2.1 基础查询:select //查询单个字段: select 字段名 from 表名; //查询多个字段 select 字段名1,字段名2,... from 表名; //查询所…...
第三章 Opencv图像像素操作
目录1.像素1-1.确定像素位置1-2.获取指定像素的像素值1-3.修改像素的BGR值2.用numpy模块操作像素2-1.创建图像1.创建黑白图像2.创建彩色图像3.创建随机图像2-2.拼接图像1.水平拼接hstack()方法2.垂直拼接vstack()方法1.像素 1.像素是构成数字图像的最小单位。每一幅图像都是由M…...
SpringBoot集成swagger3(CD2207)(内含教学视频+源代码)
SpringBoot集成swagger3(CD2207)(内含教学视频源代码) 教学视频源代码下载链接地址:https://download.csdn.net/download/weixin_46411355/87435564 目录SpringBoot集成swagger3(CD2207)&#…...
Go语言语言学习十三(反射的对象值)
在Go语言中反射不仅可以获取值的类型和种类,还可以获取值和更改值,使用reflect.ValueOf()获取和设置变量的值。 使用反射值包装任意值 Go语言通过reflect.ValueOf()获取的是值的反射值对象,书写格式如下 value : reflect.ValueOf(rawValue…...
【ESP 保姆级教程】玩转emqx数据集成篇② ——控制台输出动作(多用于测试环境调试功能)
忘记过去,超越自己 ❤️ 博客主页 单片机菜鸟哥,一个野生非专业硬件IOT爱好者 ❤️❤️ 本篇创建记录 2023-02-10 ❤️❤️ 本篇更新记录 2023-02-10 ❤️🎉 欢迎关注 🔎点赞 👍收藏 ⭐️留言📝🙏 此博客均由博主单独编写,不存在任何商业团队运营,如发现错误,请…...
MyBatis案例 | 使用映射配置文件实现CRUD操作——添加数据
本专栏主要是记录学习完JavaSE后学习JavaWeb部分的一些知识点总结以及遇到的一些问题等,如果刚开始学习Java的小伙伴可以点击下方连接查看专栏 本专栏地址:🔥JavaWeb Java入门篇: 🔥Java基础学习篇 Java进阶学习篇&…...
2023年,什么样的CRM,才是您最需要的?
春节假期刚刚结束,当大家还沉浸在新春佳节的喜悦中时,很多地方已经争先恐后地奋力开跑了。近日,全国各地方政府相继出台并发布了2023年数字化转型规划,纷纷结合自身的区位特色和优势资源,明确2023年乃至此后数年的数字…...
【C语言】编程初学者入门训练(6)
文章目录51. 计算一元二次方程52. 获取月份天数53. 简单计算器54. 线段图案55. 正方形图案56. 直角三角形图案57. 翻转直角三角形图案58. 带空格直角三角形图案59. 金字塔图案60. 翻转金字塔图案51. 计算一元二次方程 问题描述:从键盘输入a, b, c的值,编…...
Java笔记-异常相关
一、异常概述与异常体系结构 Error:Java虚拟机无法解决的严重问题: JVM系统内部错误,资源耗尽,如:StackOverflow \OOM堆栈溢出 处理办法:只能修改代码,不能编写处理异常的代码 Exception:可以处理的异常 &…...
MPNet:旋转机械轻量化故障诊断模型详解python代码复现
目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...
synchronized 学习
学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...
React第五十七节 Router中RouterProvider使用详解及注意事项
前言 在 React Router v6.4 中,RouterProvider 是一个核心组件,用于提供基于数据路由(data routers)的新型路由方案。 它替代了传统的 <BrowserRouter>,支持更强大的数据加载和操作功能(如 loader 和…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...
python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...
全球首个30米分辨率湿地数据集(2000—2022)
数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...
剑指offer20_链表中环的入口节点
链表中环的入口节点 给定一个链表,若其中包含环,则输出环的入口节点。 若其中不包含环,则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...
selenium学习实战【Python爬虫】
selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...
AspectJ 在 Android 中的完整使用指南
一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...
scikit-learn机器学习
# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...
