当前位置: 首页 > news >正文

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}

总结:

  1. 创建banner.txt文件:在项目的资源目录下创建一个名为banner.txt的文件。

  2. 使用占位符表达式:在banner.txt文件中使用${}来表示占位符,其中{}内部是要替换的属性名称。

  3. 配置属性值:在应用程序的配置文件(如application.propertiesapplication.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艺术字符或文本。它被用来给用户展示一些关于应用程序的信息&#xff0c;例如名称、版本号或者公司标志等。 使用Spring Boot的默认设置&#xff0c;如果项目中有一个名为“banner.txt”的文件放置…...

CSS的引入方式有哪些?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 内联样式&#xff08;Inline Styles&#xff09;⭐ 内部样式表&#xff08;Internal Stylesheet&#xff09;⭐ 外部样式表&#xff08;External Stylesheet&#xff09;⭐ 导入样式表&#xff08;Import Stylesheet&#xff09;⭐ 写在最…...

.net core的Knife4jUI,让swagger更精致

要在 .NET Core 中使用 IGeekFan.AspNetCore.Knife4jUI&#xff0c;您可以按照以下步骤进行配置&#xff1a; 首先&#xff0c;安装 IGeekFan.AspNetCore.Knife4jUI NuGet 包。可以通过 Visual Studio 的 NuGet 包管理器或者 .NET CLI 进行安装。 在 Startup.cs 文件的 Config…...

Android 开发中需要了解的 Gradle 知识

作者&#xff1a;wkxjc Gradle 是一个基于 Groovy 的构建工具&#xff0c;用于构建 Android 应用程序。在 Android 开发中&#xff0c;了解 Gradle 是非常重要的&#xff0c;因为它是 Android Studio 默认的构建工具&#xff0c;可以帮助我们管理依赖项、构建应用程序、运行测试…...

Linux之【进程间通信(IPC)】-总结篇

Linux之【进程间通信&#xff08;IPC&#xff09;】-总结篇 管道System V共享内存System V消息队列System V信号量IPC资源的管理方式 往期文章 1.进程间通信之管道 2.进程间通信之System V共享内存 管道 进程之间具有独立性&#xff0c;拥有自己的虚拟地址空间&#xff0c;因…...

C++QT教程3——手册4.11.1自带教程(笔记)——创建一个基于Qt Widget的应用程序

文章目录 创建一个基于Qt Widget的应用程序创建Text Finder项目素材文件 填补缺失的部分设计用户界面完成头文件完成源文件创建资源文件 编译和运行程序 参考文章 创建一个基于Qt Widget的应用程序 本教程介绍如何使用Qt Creator创建一个小型Qt应用程序&#xff0c;名为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 开箱即用

第一步&#xff1a; 下载 webSocket npm install vue-native-websocket --save 第二步&#xff1a; 需要在 main.js 中 引入 import websocket from vue-native-websocket; Vue.use(websocket, , {connectManually: true, // 手动连接format: json, // json格式reconnection:…...

使用fopen等标准C库来操作文件

fopen 需要的头文件&#xff1a; #include <stdio.h> 函数原型&#xff1a; FILE *fopen(const char *pathname, const char *mode); 参数&#xff1a; pathname: 文件路径mode: “r” &#xff1a;以只读方式打开文件&#xff0c;该文件必须存在。“w” &#xff…...

Spring-Cloud-Loadblancer详细分析_1

背景 从SpringCloud 2020 版本之后&#xff0c;组件移除了除 Eureka 以外&#xff0c;所有 Netflix 的相关&#xff0c;包括最常用的 Ribbon Hystrix 等&#xff0c;所以 SpringCloud 在 spring-cloud-commons 提供了Loadbalancer 用来替代 Ribbon。本系列就来介绍Loadbalance…...

键盘键码keyCode对照表

字母和数字键的键码值(KeyCode)按键键码按键键码A65J74B66K75C67L76D68M77E69N78F70O79G71P80H72Q81I73R82 字母和数字键的键码值(KeyCode)按键键码按键键码S83149T84250U85351V86452W87553X88654Y89755Z90856048957 数字键盘上的键的键码值(KeyCode)按键键码按键键码0968104…...

jupyter切换conda虚拟环境

环境安装 conda install nb_conda 进入你想使用的虚拟环境&#xff1a; conda activate your_env_name 在你想使用的conda虚拟环境中&#xff1a; conda install -y jupyter 在虚拟环境中安装jupyter&#xff1a; conda install -y jupyter 重启jupyter 此时我们已经把该安装…...

【数据结构•堆】经典问题:k路归并

题目描述 k路归并问题&#xff1a;   把k个有序表合并成一个有序表。&#xff08; k < 10^4 &#xff09; 输入输出格式 输入格式&#xff1a; 输入数据共有 2*k1 行。   第一行&#xff0c;一个整数k&#xff08; k < 10^4 &#xff09;&#xff0c;表示有k个有序…...

VUE3 动态路由

带参数的动态路由匹配 很多时候&#xff0c;我们需要将给定匹配模式的路由映射到同一个组件。例如&#xff0c;我们可能有一个 User 组件&#xff0c;它应该对所有用户进行渲染&#xff0c;但用户 ID 不同。在 Vue Router 中&#xff0c;我们可以在路径中使用一个动态字段来实现…...

CentOS软件包管理rpm、yum

一、软件包概述 Linux常见软件包分为两种&#xff0c;分别是源代码包、二进制文件包。源代码包是没有经过编译的包&#xff0c;需要经过GCC、C编译器编译才能运行&#xff0c;文件内容包含源代码文件&#xff0c;通常以.tar.gz、.zip、.rar结尾&#xff1b;二进制包无需编译&am…...

【VSCode】报错:出现段错误解决办法 (Segmentation fault)

VScode报错&#xff1a;Segmentation fault (core dumped)的解决办法 解决Program received signal SIGSEGV, Segmentation fault.的辛酸 Linux环境下段错误的产生原因及调试方法小结 Linux下的段错误Segmentationfault产生的原因及调试方法经典.pdf 在程序中&#xff0c;TF…...

Linux Centos 8 用户管理之重置密码

如果在使用linux系统时遇到系统密码问题无法进入系统或者操作的时候可以按照下面的方法重置用户密码。 一、root用户密码重置&#xff1a; 方式一&#xff1a; 1.重启电脑或虚拟机&#xff0c;在刚进引导界面时候按“e"键&#xff0c;进入编辑模式。 2.在”quiet"…...

C语言快速回顾(三)

前言 在Android音视频开发中&#xff0c;网上知识点过于零碎&#xff0c;自学起来难度非常大&#xff0c;不过音视频大牛Jhuster提出了《Android 音视频从入门到提高 - 任务列表》&#xff0c;结合我自己的工作学习经历&#xff0c;我准备写一个音视频系列blog。C/C是音视频必…...

【Apollo】Apollo-ros版本架构学习与源码分析

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍Apollo-ros版本架构学习与源码分析。 无专精则不能成&#xff0c;无涉猎则不能通。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&a…...

【Express.js】集成RabbitMQ

集成RabbitMQ 本节我们介绍在 express.js 中集成 rabbitmq. RabbitMQ 是一个消息队列中间件&#xff0c;常用于请求削峰&#xff0c;事务的队列处理&#xff0c;事件订阅机制的实现等。 准备工作 创建一个 express.js 项目&#xff08;本文基于evp-express-cli&#xff09;…...

linux之kylin系统nginx的安装

一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源&#xff08;HTML/CSS/图片等&#xff09;&#xff0c;响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址&#xff0c;提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

从零实现富文本编辑器#5-编辑器选区模型的状态结构表达

先前我们总结了浏览器选区模型的交互策略&#xff0c;并且实现了基本的选区操作&#xff0c;还调研了自绘选区的实现。那么相对的&#xff0c;我们还需要设计编辑器的选区表达&#xff0c;也可以称为模型选区。编辑器中应用变更时的操作范围&#xff0c;就是以模型选区为基准来…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年&#xff0c;作为行业领先的3D工业相机及视觉系统供应商&#xff0c;累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成&#xff0c;通过稳定、易用、高回报的AI3D视觉系统&#xff0c;为汽车、新能源、金属制造等行…...

MySQL中【正则表达式】用法

MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现&#xff08;两者等价&#xff09;&#xff0c;用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例&#xff1a; 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...

mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包

文章目录 现象&#xff1a;mysql已经安装&#xff0c;但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时&#xff0c;可能是因为以下几个原因&#xff1a;1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...

嵌入式学习笔记DAY33(网络编程——TCP)

一、网络架构 C/S &#xff08;client/server 客户端/服务器&#xff09;&#xff1a;由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序&#xff0c;负责提供用户界面和交互逻辑 &#xff0c;接收用户输入&#xff0c;向服务器发送请求&#xff0c;并展示服务…...

LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf

FTP 客服管理系统 实现kefu123登录&#xff0c;不允许匿名访问&#xff0c;kefu只能访问/data/kefu目录&#xff0c;不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...

RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill

视觉语言模型&#xff08;Vision-Language Models, VLMs&#xff09;&#xff0c;为真实环境中的机器人操作任务提供了极具潜力的解决方案。 尽管 VLMs 取得了显著进展&#xff0c;机器人仍难以胜任复杂的长时程任务&#xff08;如家具装配&#xff09;&#xff0c;主要受限于人…...

【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)

LeetCode 3309. 连接二进制表示可形成的最大数值&#xff08;中等&#xff09; 题目描述解题思路Java代码 题目描述 题目链接&#xff1a;LeetCode 3309. 连接二进制表示可形成的最大数值&#xff08;中等&#xff09; 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...

人工智能--安全大模型训练计划:基于Fine-tuning + LLM Agent

安全大模型训练计划&#xff1a;基于Fine-tuning LLM Agent 1. 构建高质量安全数据集 目标&#xff1a;为安全大模型创建高质量、去偏、符合伦理的训练数据集&#xff0c;涵盖安全相关任务&#xff08;如有害内容检测、隐私保护、道德推理等&#xff09;。 1.1 数据收集 描…...