SpringBoot如何自定义启动Banner 以及自定义启动项目控制台输出信息 类似于若依启动大佛 制作教程
前言
Spring Boot 项目启动时会在控制台打印出一个 banner,下面演示如何定制这个 banner。

若依也会有相应的启动动画
_ooOoo_o8888888o88" . "88(| -_- |)O\ = /O____/`---'\____.' \\| |// `./ \\||| : |||// \/ _||||| -:- |||||- \| | \\\ - /// | || \_| ''\---/'' | |\ .-\__ `-` ___/-. /___`. .' /--.--\ `. . __."" '< `.___\_<|>_/___.' >'"".| | : `- \`.;`\ _ /`;.`/ - ` : | |\ \ `-. \_ __\ /__ _/ .-` / /======`-.____`-.___\_____/___.-`____.-'======`=---='^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^// 佛祖保佑 永不宕机 永无BUG //
操作
首先在 resources 目录下创建一个 banner.txt 文件。

自定义横幅参数列表
| 类型 | 文件名称 | 存储路径 |
| 文本横幅 | banner.txt | src/main/resources |
| 图片横幅 | banner.gif(png,jpg) | src/main/resources |
在application.properties中,可以配置以下与横幅有关的属性(yml属性自行修改)
| 属性名 | 作用 | 默认 |
| banner.charset | 配置了横幅编码 | UTF-8 |
| banner.location | banner文件的位置 | classpath:banner.txt |
| banner.image.location | 横幅图像文件的位置 | classpath:banner.gif(jpg,png) |
| banner.image.width | 横幅图像的宽度 | 单位是char 默认为76 |
| banner.image.height | 横幅图像的高度 | char为单位 默认是基于图像的高度 |
| banner.image.margin | 左边的图像边距 | 单位是char 默认为2 |
| banner.image.invert | 深色终端主题的图像是否应该被倒置 | 默认为false |
| spring.main.banner-mode | 完全禁用横幅 | on |
横幅额外的信息
为了在启动时用banner显示,spring boot提供了如下banner变量。
| ${application.version} | 从MANIFEST.MF文件中配置的Implementation-Version属性中提取我们应用程序的版本号 |
| ${application.formatted-version} | 选择我们在MANIFEST.MF文件中配置的应用程序的版本号,该版本号将是(用括号包围并以v为前缀) |
| ${application.title} | 从MANIFEST.MF文件中配置的属性Implementation-Title中挑选应用程序的标题 |
| ${spring-boot.version} | 它显示我们正在使用的spring boot版本,如1.4.3.RELEASE |
| ${spring-boot.formatted-version} | 它显示的是我们正在使用的Spring Boot版本的显示格式(用括号包围,前缀为v),如例子(v1.4.3.RELEASE) |
| ${AnsiColor.NAME} | 它用于制作彩色的横幅,其中NAME是一个ANSI转义代码。从链接中找到NAME的值颜色在这里 |
| ${AnsiBackground.NAME} | 它用于改变横幅的背景颜色,其中NAME是一个ANSI转义代码。从链接中找到NAME的值 |
| ${AnsiStyle.NAME} | 它用于改变横幅的风格,其中NAME是一个ANSI转义代码。从链接中找到NAME的值 |
在目标banner文件中配置相应内容
Application Version : ${application.version}
Application Formatted Version : ${application.formatted-version}
Application Title : ${application.title}
Spring Boot Version : ${spring-boot.version}
Spring Boot Formatted Version : ${spring-boot.formatted-version}
生成自定义文字与图片banner
很多公司的banner为自己公司的名称或者产品名称,所以通过文本获取banner是必要的,这里介绍几个在线制作banner的网站:
1. http://patorjk.com/software/taag/

Big字体

Doom字体

2. https://www.bootschool.net/ascii

3. http://www.network-science.de/ascii/

4. https://www.degraeve.com/img2txt.php
这个网站就非常牛逼了,可以根据图片转为为文本。



既然图片能转文本,那我就随便找一张图来玩玩。

大家来看一下结果,我和我的小伙伴都惊呆了,还是彩色。

5. https://www.fontke.com/tool/image2ascii/
可以上传图片直接打印:

效果非常不错吧,当然方法很多有不少插件都可以用。
来源:toutiao.com/i6811255093703213582
相关文章:
SpringBoot如何自定义启动Banner 以及自定义启动项目控制台输出信息 类似于若依启动大佛 制作教程
前言 Spring Boot 项目启动时会在控制台打印出一个 banner,下面演示如何定制这个 banner。 若依也会有相应的启动动画 _ooOoo_o8888888o88" . "88(| -_- |)O\ /O____/---\____. \\| |// ./ \\||| : |||// \/ _||||| -:- |||||- \| | \\…...
访问控制列表(Access Control Lists,ACL)与哈希查找的爱恨情怨
访问控制列表(Access Control Lists,ACL)与哈希查找 什么是访问控制列表ACL?直接说ACL是干啥的ACL概念为什么需要ACLACL类型ACL匹配机制使用例子 哈希查找什么是哈希查找?哈希查找的基本原理哈希查找的步骤 哈希查找在…...
一文讲清楚分销裂变是什么?怎么做好分销裂变?【附案例】
在数字化营销日益盛行的今天,分销裂变作为一种高效的推广手段,受到了越来越多企业的青睐。那么,分销裂变究竟是什么?我们又该如何做好分销裂变呢?林叔将从定义、方法以及案例分析三个方面进行阐述。 一、分销裂变是什…...
Mybatis Plus 详解 IService、BaseMapper、自动填充、分页查询功能
结构直接看目录 前言 MyBatis-Plus 是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 愿景 我们的愿景是成为 MyBatis 最好的搭档,就像 魂斗罗 中的 1P、2P,基友搭配,效…...
鸿蒙开发组件:【FA模型的Context】
FA模型的Context FA模型下只有一个Context。Context中的所有功能都是通过方法来提供的,它提供了一些featureAbility中不存在的方法,相当于featureAbility的一个扩展和补全。 接口说明 FA模型下使用Context,需要通过featureAbility下的接口…...
Linux下手动修改服务器时间(没网环境下)
在客户服务器上更新程序时,发现服务器时间不对,现在应该是下午13:44:00,但服务器却显示为:21:40:53,所有是不对的。 date解决办法: 1、由于服务器是没有网的,只能手动设置时间,输入…...
嵌入式系统软件开发环境_3.主要功能和典型产品
1.嵌入式系统软件开发环境的主要功能 由于嵌入式系统的软件开发通常采用的是交叉开发方式,因此其开发环境中的工具应支持这种交叉开发的特点。嵌入式系统软件开发环境的功能应覆盖嵌入式软件开发过程,即编码过程、编译过程、构建过程、下载过程、调式过程…...
使用Python保护或加密Excel文件的7种方法
目录 安装Python Excel库 Python 使用文档打开密码保护 Excel 文件 Python 使用文档修改密码保护 Excel 文件 Python 将 Excel 文件标记为最终版本 Python 保护 Excel 工作表 Python 在保护 Excel 工作表的同时允许编辑某些单元格 Python 锁定 Excel 工作表中的特定单元…...
【嵌入式Linux】<总览> 文件IO(更新中)
文章目录 前言 一、常用函数 1. open函数 2. close函数 3. write函数 4. read函数 5. dup函数 6. dup2函数 二、文件读写细节 1. 换行符 2. 文件描述符 3. errno和perror 前言 在Linux系统中,一切皆文件。因此,掌握Linux下文件IO常用的函数…...
【无线传感网】分簇路由算法介绍
目录 1、LEACH路由算法 2、PEGASIS 算法 3、TEEN 算法 5、APTEEN 5、LEACH-C 算法 无线传感网中的路由协议就是寻找一条路径让网络中节点沿着这条路径将数据信息传输出去。路由协议的两大关键要点就是路径的优化和数据的分组,在传统计算机网络中,是将网络的拓扑…...
java 利用poi读取wps嵌入式图片,自测
代码 主要工具类 需要引入依赖: package com.chenkang.demo.util;import cn.wps.officeDocument.x2017.etCustomData.CellImagesDocument; import org.apache.poi.openxml4j.opc.OPCPackage; import org.apache.poi.openxml4j.opc.PackagePart; import org.apache.…...
git 常用操作指令
文章目录 git clonegit configgit addgit commitgit rmgit branch/checkoutgit pull/pushgit rebash/merge git clone git clone 可以将一个远程 Git 仓库拷贝到本地,让自己能够查看该项目,或者进行修改。 拷贝项目命令格式如下:git clone [u…...
达梦导入导出
针对导出数据库表结构通常有 3 种方法: 使用 DTS 导出 打开 DTS 迁移工具,选择【DM-->SQL】并链接到数据库中,如下图所示: 添加定义脚本,并选择【迁移范围】(仅迁移对象定义),如…...
超级数据查看器 教程pdf 1-31集 百度网盘
百度网盘链接 提取码1234https://pan.baidu.com/s/1s_2lbwZ2_Su83vDElv76ag?pwd1234 通过百度网盘分享的文件:超级数据查看器 … 链接:https://pan.baidu.com/s/1s_2lbwZ2_Su83vDElv76ag?pwd1234 提取码:1234 复制这段内容打开「百度网盘APP 即可获取」...
一、开发环境安装 Avalonia
1、概述 官网中是这么介绍Avalonia的,Avalonia是一个强大的框架,使开发人员能够使用.NET创建跨平台应用程序。它使用自己的渲染引擎绘制UI控件,确保在Windows、macOS、Linux、Android、iOS和WebAssembly等不同平台上具有一致的外观和行为。这…...
融资A轮B轮是什么意思?
环境: 融资 问题描述: 融资A轮B轮是什么意思 解决方案: 在A轮融资之前,通常有以下几轮融资阶段: 种子轮(Seed Round):这是企业生命周期中最早的融资阶段,通常发生在…...
开发一个python工具,pdf转图片,并且截成单个图片,然后修整没用的白边
今天推荐一键款本人开发的pdf转单张图片并截取没有用的白边工具 一、开发背景: 业务需要将一个pdf文件展示在前端显示,但是基于各种原因,放弃了h5使用插件展示 原因有多个,文件资源太大加载太慢、pdf展示兼容性问题、pdf展示效果…...
手机网络卡顿,试试飞行模式
当你遇到某个网页刷新慢或者打不开,而通过切换飞行模式就能解决这个问题,可能的原因有以下几种: 1. 网络连接重置 切换飞行模式会导致你的手机断开当前的网络连接(包括Wi-Fi和移动数据),然后重新建立连接…...
【退役之重学 AI】Ubuntu 安装 Anaconda
一. 下载 安装文件 https://www.anaconda.com/download/success 二. 安装 bash anaconda****.bash 一路 enter,yes 最后一个问你 要不要 conda init,这里得输入yes(默认是no,所以不要直接 enter),否则你…...
flutter 命令
1.查看依赖树 flutter pub deps 2.清理Flutter缓存 flutter clean 3.清理Gradle缓存 ./gradlew cleanBuildCache 4.清理Pub缓存: flutter pub cache repair 5.获取依赖项: flutter pub get 6.更新依赖项: flutter pub upgrade 7.…...
Claude长文档推理能力跃迁全记录(2024–2026技术演进图谱)
更多请点击: https://intelliparadigm.com 第一章:Claude 2026长文档推理能力的定义与边界 Claude 2026 的长文档推理能力指其在单次上下文窗口内(最大支持 2,000,000 tokens)对跨章节、多模态混合结构化文本(含嵌入表…...
大模型上手指南:从跑通到解剖,一步步深入核心机制!
本文提供了一套从零开始、由浅入深的实践路径,指导读者如何系统性地分析和学习大模型。首先通过配置环境、加载本地模型并成功进行推理,让读者直观感受模型运行。接着,结合运行结果回顾 Transformer、Tokenization 等核心概念,并探…...
量子计算威胁下的密码安全:从后量子密码到密码敏捷性实战解析
1. 量子计算:从实验室概念到国家安全的“灰犀牛”最近几年,每当我和业内的同行、安全专家,甚至是投资圈的朋友聊起前沿技术风险,话题总会在某个时刻滑向量子计算。这感觉很像十几年前大家第一次严肃讨论“云计算安全”时一样——一…...
跨越版本鸿沟:Matlab 2020b与VS2022混合编译环境搭建实战
1. 环境准备:当Matlab 2020b遇上VS2022 第一次尝试在Matlab 2020b里调用VS2022编译器时,命令行弹出的红色报错让我愣了半天。官方文档明确写着Matlab 2020b最高只支持VS2019,这就像让Windows XP运行最新版Photoshop——理论上不可能ÿ…...
如何通过SRWE实现游戏窗口分辨率自定义:5个高效技巧与实战指南
如何通过SRWE实现游戏窗口分辨率自定义:5个高效技巧与实战指南 【免费下载链接】SRWE Simple Runtime Window Editor 项目地址: https://gitcode.com/gh_mirrors/sr/SRWE SRWE(Simple Runtime Window Editor)是一款开源的游戏窗口实时…...
内向技术人突破领导力瓶颈:从深度思考到战略沟通的进阶指南
1. 项目概述:内向工程师的“天花板”与破局之路 在技术圈子里待久了,你会发现一个有趣的现象:身边那些能写出精妙算法、搞定复杂架构的工程师,往往在茶水间的闲聊中显得沉默寡言,在大型会议上也更倾向于坐在后排。这并…...
手把手教你用MOS管搭建防反接电路:从原理图到PCB布局的避坑指南(以立创EDA为例)
从零构建MOS管防反接电路:立创EDA实战全流程解析 电源反接是电子设计中最常见的"低级错误"之一,却可能造成毁灭性后果。想象一下:你花费数周完成的智能家居控制器,因为电池装反而瞬间烧毁主控芯片——这种场景在创客社区…...
VINS-Mono在EUROC数据集上的实战评测:从轨迹精度到运行耗时,我的避坑心得
VINS-Mono在EUROC数据集上的实战评测:从轨迹精度到运行耗时,我的避坑心得 当第一次在无人机上部署VINS-Mono时,我盯着实时轨迹和地面真值之间逐渐拉大的偏差,意识到论文里的漂亮曲线背后藏着太多未言明的细节。这次评测源于一个实…...
ctf show web 入门43
打开靶场代码逻辑如下: if(!preg_match(“/\ |/|cat/i”, $c)) 它过滤了三个关键内容: \ (空格):你不能直接在命令中使用空格(例如 ls -l 或 cat flag 都会失败)。 / (正斜杠):你不能使用路径符号…...
FPGA开发实战:从问题定位到系统化解决,构建硬件设计核心能力
1. 项目概述:当FPGA问题来袭,你的第一反应是什么?如果你正在设计一个嵌入式系统,或者在调试一块数字电路板时,遇到了一个用微控制器(MCU)难以解决的时序、并行处理或接口协议问题,你…...
