当前位置: 首页 > 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;…...

调用支付宝接口响应40004 SYSTEM_ERROR问题排查

在对接支付宝API的时候&#xff0c;遇到了一些问题&#xff0c;记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...

【入坑系列】TiDB 强制索引在不同库下不生效问题

文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

关于nvm与node.js

1 安装nvm 安装过程中手动修改 nvm的安装路径&#xff0c; 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解&#xff0c;但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后&#xff0c;通常在该文件中会出现以下配置&…...

376. Wiggle Subsequence

376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

零基础设计模式——行为型模式 - 责任链模式

第四部分&#xff1a;行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习&#xff01;行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想&#xff1a;使多个对象都有机会处…...

html-<abbr> 缩写或首字母缩略词

定义与作用 <abbr> 标签用于表示缩写或首字母缩略词&#xff0c;它可以帮助用户更好地理解缩写的含义&#xff0c;尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时&#xff0c;会显示一个提示框。 示例&#x…...

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列&#xff0c;以便知晓哪些列包含有价值的数据&#xff0c;…...

重启Eureka集群中的节点,对已经注册的服务有什么影响

先看答案&#xff0c;如果正确地操作&#xff0c;重启Eureka集群中的节点&#xff0c;对已经注册的服务影响非常小&#xff0c;甚至可以做到无感知。 但如果操作不当&#xff0c;可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...

【笔记】WSL 中 Rust 安装与测试完整记录

#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统&#xff1a;Ubuntu 24.04 LTS (WSL2)架构&#xff1a;x86_64 (GNU/Linux)Rust 版本&#xff1a;rustc 1.87.0 (2025-05-09)Cargo 版本&#xff1a;cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...

uniapp 开发ios, xcode 提交app store connect 和 testflight内测

uniapp 中配置 配置manifest 文档&#xff1a;manifest.json 应用配置 | uni-app官网 hbuilderx中本地打包 下载IOS最新SDK 开发环境 | uni小程序SDK hbulderx 版本号&#xff1a;4.66 对应的sdk版本 4.66 两者必须一致 本地打包的资源导入到SDK 导入资源 | uni小程序SDK …...