springboot 设置自定义启动banner背景图 教程
springboot banner
Spring Boot中的banner是在应用程序启动时显示的一个ASCII艺术字符或文本。它被用来给用户展示一些关于应用程序的信息,例如名称、版本号或者公司标志等。
使用Spring Boot的默认设置,如果项目中有一个名为“banner.txt”的文件放置在classpath下的“/META-INF”目录中,那么这个文件的内容将会被用作应用程序的banner。
你可以使用任何文本编辑器创建一个banner.txt文件,并把想要显示的ASCII艺术字符或自定义文本放入其中。
以下是一些常见的自定义banner配置:
1.设置banner的模式:
通过在application.properties文件中添加以下属性进行设置:
spring.main.banner-mode=console
可以不配置,默认会在在控制台和日志中输出banner
- off:禁用banner;
- console:在控制台输出banner;
- log:在日志中输出banner。
2.添加图片形式的banner:
在/banner.txt中可以使用特殊的占位符${AnsiColor.X},其中X是颜色码。比如${AnsiColor.GREEN}表示绿色。你可以使用以下特殊的ANSI颜色码改变文本的颜色:
- BLACK
- RED
- GREEN
- YELLOW
- BLUE
- MAGENTA
- CYAN
- WHITE
3.添加自定义文本:
可以在banner.txt文件中插入自定义的文本,例如应用程序的名称、版本号或其他相关信息。
以下是一个示例banner.txt文件内容:
_
| |_ __ _ _ __ ____ __ _ _ __
| __| / _` || '__||_ / / _` || '_ \
| |_ | (_| || | / / | (_| || | | |\__| \__,_||_| /___| \__,_||_| |_|
4、改变banner字符图案的颜色
在banner.txt文件中加入表达式(有多种颜色可选择): ${AnsiColor.BRIGHT_GREEN}
在Spring Boot的banner.txt文件中,您可以使用占位符表达式来动态生成横幅内容。其他修改banner展示内容的表达式如下:
示例:
Welcome to ${application.name}! Version: ${application.version}
总结:
-
创建
banner.txt文件:在项目的资源目录下创建一个名为banner.txt的文件。 -
使用占位符表达式:在
banner.txt文件中使用${}来表示占位符,其中{}内部是要替换的属性名称。 -
配置属性值:在应用程序的配置文件(如
application.properties或application.yml)中定义相应的属性和值。例如,在application.properties文件中添加以下内容:
通过上述示例和总结,您可以在banner.txt文件中使用占位符表达式来生成动态的横幅内容,以展示应用程序的相关信息。
请注意,以上示例和总结仅适用于Spring Boot中的banner.txt文件和占位符表达式的使用。
最后附上字符生成网站及在线图片转换为字符图案网站(有兴趣的小伙伴可自行去生成自己喜欢的图案):
http://patorjk.com/software/taag
佛祖版Baner
-------佛祖保佑 永无BUG-----------佛祖保佑 必发大财--------佛祖保佑 毛发旺盛---------
项目resources文件下新建banner.txt文件

banner.txt 代码
${AnsiColor.BLUE} -------------------------------阿弥陀佛-------------------------------------------------阿弥陀佛---------------------------------------------------阿弥陀佛------------------------
${AnsiColor.BLUE} _oo0oo_ _oo0oo_ _oo0oo_
${AnsiColor.BLUE} o8888888o o8888888o o8888888o
${AnsiColor.BLUE} 88" . "88 88" . "88 88" . "88
${AnsiColor.BLUE} (| -^_^ |) (| --_-- |) (| @_@ |)
${AnsiColor.BLUE} 0\ = /0 0\ = /0 0\ = /0
${AnsiColor.BLUE} ___/‘---’\___ ___/‘---’\___ ___/‘---’\___
${AnsiColor.BLUE} .' \| |/ '. .' \| |/ '. .' \| |/ '.
${AnsiColor.BLUE} / \\||| : |||// \ / \\||| : |||// \ / \\||| : |||// \
${AnsiColor.BLUE} / _||||| -卍-|||||_ \ / _||||| -卍-|||||_ \ / _||||| -卍-|||||_ \
${AnsiColor.BLUE} | | \\\ - /// | | | | \\\ - /// | | | | \\\ - /// | |
${AnsiColor.BLUE} | \_| ''\---/'' |_/ | | \_| ''\---/'' |_/ | | \_| ''\---/'' |_/ |
${AnsiColor.BLUE} \ .-\__ '-' ___/-. / \ .-\__ '-' ___/-. / \ .-\__ '-' ___/-. /
${AnsiColor.BLUE} ___'. .' /--.--\ '. .'___ ___'. .' /--.--\ '. .'___ ___'. .' /--.--\ '. .'___
${AnsiColor.BLUE} ."" ‘< ‘.___\_<|>_/___.’>’ "". ."" ‘< ‘.___\_<|>_/___.’>’ "". ."" ‘< ‘.___\_<|>_/___.’>’ "".
${AnsiColor.BLUE} | | : ‘- \‘.;‘\ _ /’;.’/ - ’ : | | | | : ‘- \‘.;‘\ _ /’;.’/ - ’ : | | | | : ‘- \‘.;‘\ _ /’;.’/ - ’ : | |
${AnsiColor.BLUE} \ \ ‘_. \_ __\ /__ _/ .-’ / / \ \ ‘_. \_ __\ /__ _/ .-’ / / \ \ ‘_. \_ __\ /__ _/ .-’ / /
${AnsiColor.BLUE} =====‘-.____‘.___ \_____/___.-’___.-’===== =====‘-.____‘.___ \_____/___.-’___.-’===== =====‘-.____‘.___ \_____/___.-’___.-’=====
${AnsiColor.BLUE} ‘=---=’ ‘=---=’ ‘=---=’
${AnsiColor.BLUE} ----------------------------佛祖保佑 永无BUG----------------------------------------佛祖保佑 必发大财------------------------------------------佛祖保佑 毛发旺盛------------------${AnsiColor.BLUE}:: 虎的一比! ${blade.service.version} :: ${spring.application.name}:${AnsiColor.RED}${blade.env}${AnsiColor.BLUE} :: Running SpringBoot ${spring-boot.version} :: ${AnsiColor.BRIGHT_BLACK}
启动图

相关文章:
springboot 设置自定义启动banner背景图 教程
springboot banner Spring Boot中的banner是在应用程序启动时显示的一个ASCII艺术字符或文本。它被用来给用户展示一些关于应用程序的信息,例如名称、版本号或者公司标志等。 使用Spring Boot的默认设置,如果项目中有一个名为“banner.txt”的文件放置…...
CSS的引入方式有哪些?
聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 内联样式(Inline Styles)⭐ 内部样式表(Internal Stylesheet)⭐ 外部样式表(External Stylesheet)⭐ 导入样式表(Import Stylesheet)⭐ 写在最…...
.net core的Knife4jUI,让swagger更精致
要在 .NET Core 中使用 IGeekFan.AspNetCore.Knife4jUI,您可以按照以下步骤进行配置: 首先,安装 IGeekFan.AspNetCore.Knife4jUI NuGet 包。可以通过 Visual Studio 的 NuGet 包管理器或者 .NET CLI 进行安装。 在 Startup.cs 文件的 Config…...
Android 开发中需要了解的 Gradle 知识
作者:wkxjc Gradle 是一个基于 Groovy 的构建工具,用于构建 Android 应用程序。在 Android 开发中,了解 Gradle 是非常重要的,因为它是 Android Studio 默认的构建工具,可以帮助我们管理依赖项、构建应用程序、运行测试…...
Linux之【进程间通信(IPC)】-总结篇
Linux之【进程间通信(IPC)】-总结篇 管道System V共享内存System V消息队列System V信号量IPC资源的管理方式 往期文章 1.进程间通信之管道 2.进程间通信之System V共享内存 管道 进程之间具有独立性,拥有自己的虚拟地址空间,因…...
C++QT教程3——手册4.11.1自带教程(笔记)——创建一个基于Qt Widget的应用程序
文章目录 创建一个基于Qt Widget的应用程序创建Text Finder项目素材文件 填补缺失的部分设计用户界面完成头文件完成源文件创建资源文件 编译和运行程序 参考文章 创建一个基于Qt Widget的应用程序 本教程介绍如何使用Qt Creator创建一个小型Qt应用程序,名为Text F…...
手机商城网站的分析与设计(论文+源码)_kaic
目录 摘 要 1 1 绪论 2 1.1选题背景意义 2 1.2国内外研究现状 2 1.2.1国内研究现状 2 1.2.2国外研究现状 3 1.3研究内容 3 2 网上手机商城网站相关技术 4 2.1.NET框架 4 2.2Access数据库 4 2.3 JavaScript技术 4 3网上手机商城网站分析与设…...
vue2 封装 webSocket 开箱即用
第一步: 下载 webSocket npm install vue-native-websocket --save 第二步: 需要在 main.js 中 引入 import websocket from vue-native-websocket; Vue.use(websocket, , {connectManually: true, // 手动连接format: json, // json格式reconnection:…...
使用fopen等标准C库来操作文件
fopen 需要的头文件: #include <stdio.h> 函数原型: FILE *fopen(const char *pathname, const char *mode); 参数: pathname: 文件路径mode: “r” :以只读方式打开文件,该文件必须存在。“w” ÿ…...
Spring-Cloud-Loadblancer详细分析_1
背景 从SpringCloud 2020 版本之后,组件移除了除 Eureka 以外,所有 Netflix 的相关,包括最常用的 Ribbon Hystrix 等,所以 SpringCloud 在 spring-cloud-commons 提供了Loadbalancer 用来替代 Ribbon。本系列就来介绍Loadbalance…...
键盘键码keyCode对照表
字母和数字键的键码值(KeyCode)按键键码按键键码A65J74B66K75C67L76D68M77E69N78F70O79G71P80H72Q81I73R82 字母和数字键的键码值(KeyCode)按键键码按键键码S83149T84250U85351V86452W87553X88654Y89755Z90856048957 数字键盘上的键的键码值(KeyCode)按键键码按键键码0968104…...
jupyter切换conda虚拟环境
环境安装 conda install nb_conda 进入你想使用的虚拟环境: conda activate your_env_name 在你想使用的conda虚拟环境中: conda install -y jupyter 在虚拟环境中安装jupyter: conda install -y jupyter 重启jupyter 此时我们已经把该安装…...
【数据结构•堆】经典问题:k路归并
题目描述 k路归并问题: 把k个有序表合并成一个有序表。( k < 10^4 ) 输入输出格式 输入格式: 输入数据共有 2*k1 行。 第一行,一个整数k( k < 10^4 ),表示有k个有序…...
VUE3 动态路由
带参数的动态路由匹配 很多时候,我们需要将给定匹配模式的路由映射到同一个组件。例如,我们可能有一个 User 组件,它应该对所有用户进行渲染,但用户 ID 不同。在 Vue Router 中,我们可以在路径中使用一个动态字段来实现…...
CentOS软件包管理rpm、yum
一、软件包概述 Linux常见软件包分为两种,分别是源代码包、二进制文件包。源代码包是没有经过编译的包,需要经过GCC、C编译器编译才能运行,文件内容包含源代码文件,通常以.tar.gz、.zip、.rar结尾;二进制包无需编译&am…...
【VSCode】报错:出现段错误解决办法 (Segmentation fault)
VScode报错:Segmentation fault (core dumped)的解决办法 解决Program received signal SIGSEGV, Segmentation fault.的辛酸 Linux环境下段错误的产生原因及调试方法小结 Linux下的段错误Segmentationfault产生的原因及调试方法经典.pdf 在程序中,TF…...
Linux Centos 8 用户管理之重置密码
如果在使用linux系统时遇到系统密码问题无法进入系统或者操作的时候可以按照下面的方法重置用户密码。 一、root用户密码重置: 方式一: 1.重启电脑或虚拟机,在刚进引导界面时候按“e"键,进入编辑模式。 2.在”quiet"…...
C语言快速回顾(三)
前言 在Android音视频开发中,网上知识点过于零碎,自学起来难度非常大,不过音视频大牛Jhuster提出了《Android 音视频从入门到提高 - 任务列表》,结合我自己的工作学习经历,我准备写一个音视频系列blog。C/C是音视频必…...
【Apollo】Apollo-ros版本架构学习与源码分析
😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍Apollo-ros版本架构学习与源码分析。 无专精则不能成,无涉猎则不能通。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下&a…...
【Express.js】集成RabbitMQ
集成RabbitMQ 本节我们介绍在 express.js 中集成 rabbitmq. RabbitMQ 是一个消息队列中间件,常用于请求削峰,事务的队列处理,事件订阅机制的实现等。 准备工作 创建一个 express.js 项目(本文基于evp-express-cli)…...
手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...
工业安全零事故的智能守护者:一体化AI智能安防平台
前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...
.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...
最新SpringBoot+SpringCloud+Nacos微服务框架分享
文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的,根据Excel列的需求预估的工时直接打骨折,不要问我为什么,主要…...
[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?
论文网址:pdf 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误,若有发现欢迎评论指正!文章偏向于笔记,谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...
ffmpeg(四):滤镜命令
FFmpeg 的滤镜命令是用于音视频处理中的强大工具,可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下: ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜: ffmpeg…...
如何为服务器生成TLS证书
TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...
新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案
随着新能源汽车的快速普及,充电桩作为核心配套设施,其安全性与可靠性备受关注。然而,在高温、高负荷运行环境下,充电桩的散热问题与消防安全隐患日益凸显,成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...
