SpringBoot彩蛋之定制启动画面

news/2024/11/19 16:47:16/文章来源:https://www.cnblogs.com/xiezhr/p/18291026

写在前面

在日常开发中,我们经常会看到各种各样的启动画面。例如以下几种

① spring项目启动画面

springboot启动画面

mybatisplus启动画面

mybatis启动画面

③若依项目启动画面

若依启动画面

还有很多各式各样好看的启动画面,那么怎么定制这些启动画面呢?

一、小试牛刀

① 新建一个SpringBoot项目

新建springboot项目

②在项目的resources目录下新建一个banner.txt文件,然后将以下佛祖保佑内容粘贴到里面

                   _ooOoo_o8888888o88" . "88(| -_- |)O\  =  /O____/`---'\____.'  \\|     |//  `./  \\|||  :  |||//  \/  _||||| -:- |||||-  \|   | \\\  -  /// |   || \_|  ''\---/''  |   |\  .-\__  `-`  ___/-. /___`. .'  /--.--\  `. . __."" '<  `.___\_<|>_/___.'  >'"".| | :  `- \`.;`\ _ /`;.`/ - ` : | |\  \ `-.   \_ __\ /__ _/   .-` /  /
======`-.____`-.___\_____/___.-`____.-'======`=---='
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^佛祖保佑       永无BUG

③ 启动项目,看看效果

无需任何其他配置,我们只需要重新启动项目,控制台就可以打印我们定制的启动画面

控制台启动画面

二、在线制作banner

这里提供几个生成banner的网站,上面小节的“佛祖保佑,永无BUG”也是通过下面在线网站生成的

http://patorjk.com/software/taag/

下面截图中以生成www.xiezhrspace.cn为例,我们可以选择不同字体

在线生成banner网址1

https://www.bootschool.net/ascii

在线生成banner网址2

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

在线生成banner网址3

https://www.degraeve.com/img2txt.php

这个网站比较厉害,可以根据在线图片来转换。而且还可以生成彩色的

我们找一张冰冰的图来试试,https://pic3.zhimg.com/v2-c19edbc9051caddc6b0eb5e6f53ae55a_r.jpg

根据在线图片生成txt

左边是原图,右边是生成的banner.txt

生成后的图

https://www.fontke.com/tool/image2ascii/

这个在线网站也可以根据上传图片生成

在线生成banner网址5

三、自定义Banner颜色

不少小伙伴不喜欢黑白的启动界面,SpringBoot提供了AnsiColor 枚举类来控制banner.txt的颜色显示

比如,我们想要将上面的佛祖变成金黄色的,我们只需要在佛祖字符的最前面添加${AnsiColor.BRIGHT_YELLOW} 代码即可

一尊金色的佛祖就可以出来了

自定义Banner颜色

注: 由于版本原因,小伙伴设置好之后可能颜色不会改变,我们可以在aplication.propertiesapplication.yml文件中添加如下配置

#aplication.properties
spring.output.ansi.enabled=always
#application.yml
spring:output:ansi:enabled: always

四、Banner其他设置

除了上面的基本设置之外,我们还可以在Banner.txt文件中加入一些属性

  • ${application.version} 获取MANIDEST.MF文件中版本号
  • ${application.formatted-version} 格式化后的{application.version}版本信息
  • ${spring-boot.version} SpringBoot的版本号
  • ${spring-boot.formatted-version} 格式化后的{spring-boot.version}版本信息

五、关闭Banner

如果小伙伴们不喜欢banner这种信息,想要关闭它。

我们可以修改入口类的main方法来实现,具体代码如下

@SpringBootApplication
public class CustomBannerDemoApplication {public static void main(String[] args) {SpringApplication app = new SpringApplication(CustomBannerDemoApplication.class);app.setBannerMode(Banner.Mode.OFF);app.run(args);}}

其中app.setBannerMode(Banner.Mode.OFF) 代表Banner模式关闭

当然了,我们也可以在application.yml中配置关闭

spring:main:banner-mode: off

本期内容到这儿就结束了,★,°:.☆( ̄▽ ̄)/$:.°★ 。 希望对您有所帮助

我们下期再见 ヾ(•ω•`)o (●'◡'●)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/740964.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

dBFS详解

什么是dBFS? dBFS(decibels relative to full scale)是描述音频信号在数字系统中的幅度的单位。它表示信号电平相对于数字系统的满刻度(Full Scale)的分贝值。dBFS的满刻度通常被认为是数字音频系统中所能处理的最大电平。 dBFS的计算 在数字音频系统中,dBFS的计算公式如…

DL/T645 调试工具,工程师必备

分享一个好用的 DL/T645 调试工具,官网下载地址 目录DL/T645 调试工具,工程师必备主要功能软件截图 DL/T645 调试工具,工程师必备 DL/T645 是中国电力行业的一个通信协议标准,专门用于电力数据采集和传输系统。这个协议由中国电力企业联合会(CEC)发布,主要用于智能电表及…

2024.7.9 鲜花

题图 from 匿名頭ン痛 - feat. 重音テト 我没找到 QaQprufer 序列,简单来说就是 \(n\) 个节点的树双射一个长度 \(n-2\) 值域 \([1,n]\) 的序列。 构造过程就是每次删一个编号最小叶子,记录其父节点。 本图来自baoziwu2,侵删显然堆 \(n\log n\) 可做,也可以扫一遍所有标号,…

读人工智能全传07智能体

读人工智能全传07智能体1. 布鲁克斯革命 1.1. 随着科学认知的发展,有时候旧有科学体系会面临全盘崩溃的危机,新的科学体系诞生,取代传统的、既定的科学体系,这就意味着科学的范式将发生变化 1.2. 澳大利亚机器人学家罗德尼布鲁克斯(Rodney Brooks),是彼时对人工智能范式批…

修改hosts文件不生效原因

hosts文件目录C:\Windows\System32\drivers\etc解决方法 重启浏览器。 其它参考:https://blog.csdn.net/zx1323/article/details/127461529本文来自博客园,作者:__username,转载请注明原文链接:https://www.cnblogs.com/code3/p/18290996

跨境电商业务流程

相较于普通的电商流程,跨境电商业务流程多了与备案、报关等环节相关的内容,一起来看看作者的分享吧。跨境电商业务主要是围绕海关来进行的,除了在项目上的体现上还有很多项目之外的工作,如备案、报关。报关可以由程序完成,也可人工完成。 整体流程:各角色海关备案-> 商…

计一次Win32 api程序显示混乱问题的调试经历

背景:短学期任务,做一个his系统,老师是没有要求gui的,我闲的没事干就打算写一个gui,但是mfc、qt、unity每一个熟悉的,所以就直接用了win32 api手写gui~~(我太难了,我发誓以后再也不手写gui了)~~。然后我就想到了子窗口切换的方式来显示不同的界面(好处在于,每个子界…

05.Map 案例 滑动区间算法

下面是 Go 语言实现寻找最长不含有重复字符的子串的代码:滑动区间算法??package mainimport "fmt"func longestSubstringWithoutRepeating(s string) string {m := make(map[byte]int)start, maxLength, maxStart := 0, 0, 0for end := 0; end < len(s); end++…

全网最适合入门的面向对象编程教程:11 类和对象的Python实现-子类调用父类方法-模拟串口传感器和主机

本节课,我们主要讲解了在Python类的继承中子类如何进行初始化、调用父类的属性和方法,同时讲解了模拟串口传感器和主机类的具体实现,并使用xcom串口助手与两个类进行串口通信使用。全网最适合入门的面向对象编程教程:11 类和对象的 Python 实现-子类调用父类方法-模拟串口传…

Vite5+Electron聊天室|electron31跨平台仿微信EXE客户端|vue3聊天程序

基于electron31+vite5+pinia2跨端仿微信Exe聊天应用ViteElectronChat。 electron31-vite5-chat原创研发vite5+electron31+pinia2+element-plus跨平台实战仿微信客户端聊天应用。实现了聊天、联系人、收藏、朋友圈/短视频等模块。支持electron多开窗口管理、壁纸皮肤、自定义最大…

隐私计算核心技术

非对称加密算法 RSA RSA 算法基础欧拉函数:任意给定正整数 n,在小于等于 n 的正整数中,有多少个数与 n 构成互质关系?计算这些值的方法叫做欧拉函数,以 \(\varphi(n)\) 表示。 欧拉定理:如果两个正整数 a 和 n 互质,则 n 的欧拉函数可以让下面的等式成立:\[\begin{equa…