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)…...
云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?
大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...
多场景 OkHttpClient 管理器 - Android 网络通信解决方案
下面是一个完整的 Android 实现,展示如何创建和管理多个 OkHttpClient 实例,分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...
UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...
dedecms 织梦自定义表单留言增加ajax验证码功能
增加ajax功能模块,用户不点击提交按钮,只要输入框失去焦点,就会提前提示验证码是否正确。 一,模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...
Module Federation 和 Native Federation 的比较
前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...
Ascend NPU上适配Step-Audio模型
1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统,支持多语言对话(如 中文,英文,日语),语音情感(如 开心,悲伤)&#x…...
Android15默认授权浮窗权限
我们经常有那种需求,客户需要定制的apk集成在ROM中,并且默认授予其【显示在其他应用的上层】权限,也就是我们常说的浮窗权限,那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...
HarmonyOS运动开发:如何用mpchart绘制运动配速图表
##鸿蒙核心技术##运动开发##Sensor Service Kit(传感器服务)# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…...
使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...
Java求职者面试指南:计算机基础与源码原理深度解析
Java求职者面试指南:计算机基础与源码原理深度解析 第一轮提问:基础概念问题 1. 请解释什么是进程和线程的区别? 面试官:进程是程序的一次执行过程,是系统进行资源分配和调度的基本单位;而线程是进程中的…...
