Spring Boot 自定义启动画面

chatgpt/2023/9/26 13:31:30

文章目录

  • 自定 Banner
  • 获取属性
  • 设置颜色
  • 实操
  • 关闭 Banner
  • 参考

我们启动项目的之后,会在控制台上看到类似下面的画面:
在这里插入图片描述

那么,我们是否可以自定义呢?
肯定可以

自定 Banner

上面的截图信息就是 Banner 信息,我们可以在项目的 resources 下新建 banner.txt 来实现,比如:
// banner.txt
逆流°只是风景-bjhxcc

然后我们重新启动项目,则有:
在这里插入图片描述

获取属性

当然,我们可以获取项目的属性,通过 ${属性名} 来获取,比如:

${spring-boot.version}

获取的属性可以有:

  • AnsiColor.BRIGHT_RED: 设置控制台中输出内容的颜色,具体参考 org.springframework.boot.ansi.AnsiColor
  • application.version: 用来获取 MANIFEST.MF 文件的版本信息
  • application.formatted-version: 格式化后的 application.version 版本信息
  • spring-boot.version: Spring Boot 的版本号
  • spring-boot.formatted-version: 格式化后的 sprin-boot.version 版本信息

设置颜色

刚才我们提到了 AnsiColor 可以设置控制台输出内容的颜色。那么,我们应该如何设置呢?

这很简单,只需要在这段文本前面加入 ${AnsiColor.BRIGHT_RED} 即可。添加的枚举类型颜色根据个人喜好更改~

// 枚举值
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//package org.springframework.boot.ansi;public enum AnsiColor implements AnsiElement {DEFAULT("39"),BLACK("30"),RED("31"),GREEN("32"),YELLOW("33"),BLUE("34"),MAGENTA("35"),CYAN("36"),WHITE("37"),BRIGHT_BLACK("90"),BRIGHT_RED("91"),BRIGHT_GREEN("92"),BRIGHT_YELLOW("93"),BRIGHT_BLUE("94"),BRIGHT_MAGENTA("95"),BRIGHT_CYAN("96"),BRIGHT_WHITE("97");private final String code;private AnsiColor(String code) {this.code = code;}public String toString() {return this.code;}
}

实操

OK,我们了解得差不多了,来实操一下。通过 Text to ASCII Art Generator 获取生成的艺术字。
然后在 banner.txt 上添加文本如下:
启动成功!

${AnsiColor.BRIGHT_RED}
,--. ,--. ,--.     ,-----. ,------.      ,---.         ,--.
|  | |  | |  |    '  .--./ |  .-.  \    '.-.  \       /    \
|  | |  | |  |    |  |     |  |  \  :    .-' .'      |  ()  |
'  '-'  ' |  '--. '  '--'\ |  '--'  /   /   '-. .--.  \    /`-----'  `-----'  `-----' `-------'    '-----' '--'   `--'${AnsiColor.BRIGHT_WHITE}
欢迎使用~
spring boot 版本为 ${spring-boot.version}

我们重新运行下项目,效果如下:
在这里插入图片描述

关闭 Banner

我们不想使用 Banner,那么,我们在入口文件中进行关闭即可。

PS,我这里使用的 spring boot 版本为 3.1.2

原先入口文件:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class LaunchApplication {public static void main(String[] args) {SpringApplication.run(LaunchApplication.class, args);}}

上面代码其实可以写成这样:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class LaunchApplication {public static void main(String[] args) {SpringApplication app = new SpringApplication(LaunchApplication.class);app.run(args);}}

我们添加一行代码禁用 banner.txt,更改后:

import org.springframework.boot.Banner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class LaunchApplication {public static void main(String[] args) {SpringApplication app = new SpringApplication(LaunchApplication.class);app.setBannerMode(Banner.Mode.OFF); // 设置 Banner 模式为关闭app.run(args);}}

启动后,控制台就没有相关的 banner 信息了:

参考

  • 《Spring Boot 实战派》
  • Text to ASCII Art Generator

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

如若内容造成侵权/违法违规/事实不符,请联系郑州代理记账网进行投诉反馈,一经查实,立即删除!

相关文章

类的封装和包(JAVA)

封装 所有的OOP语言都会有三个特征: 封装;继承;多态。 本篇文章会为大家带来有关封装的知识。 在我们日常生活中可以看到电视就只有那么几个按键(开关,菜单……)和一些接口,而而我们通过这些东…

“RWEQ+”集成技术在土壤风蚀模拟与风蚀模数估算、变化归因分析中的实践应用及SCI论文撰写

土壤风蚀是一个全球性的环境问题。中国是世界上受土壤风蚀危害最严重的国家之一,土壤风蚀是中国干旱、半干旱及部分湿润地区土地荒漠化的首要过程。中国风蚀荒漠化面积达160.74104km2,占国土总面积的16.7%,严重影响这些地区的资源开发和社会经…

YOLOV8做实例分割(环境配置+搭建模型+数据集制作+训练+预测全套)

目录 一、安装Anaconda3 1、下载 2、安装 3、验证 二、搭建windows上yolov8环境 1、cuda+pytorch+python版本选择 ①查看自己电脑的cuda型号 ②显卡驱动版本对应选择 2、创建虚拟环境 3、激活环境 ​编辑 4、安装pytorch框架 ①安装框架pytorch 1.9.0 ②换镜像源 …

ARM板上 rosdep update 遇到的问题

RROR: Rosdep experienced an error: Unable to handle index format version 3, please update rosdistro Please go to the rosdep page [1] and file a bug report with the stack trace below. [1] : http://www.ros.org/wiki/rosdep rosdep version: 0.10.25 Traceback (

Java生成二维码——附Utils工具类

参加2023年的计算机设计大赛国赛,拿到了一等奖。 现在将项目中的工具类代码剥离出来,方便之后项目开发中复用。 实现效果: 代码实现: import com.google.zxing.BarcodeFormat; import com.google.zxing.EncodeHintType; import c…

Stable Diffusion:网页版 体验 / AI 绘图

一、官网地址 Stable Diffusion Online 二、Stable Diffusion AI 能做什么 Stable Diffusion AI绘图是一种基于Stable Diffusion模型的生成式AI技术,能够生成各种类型的图像,包括数字艺术、照片增强和图像修复等。以下是一些可能的应用: …

Java【Spring】项目创建、存储和获取 Bean 的基本方式

文章目录 前言一、创建 Spring 项目1, 创建 Maven 项目2, 添加 Spring 依赖3, 创建启动类 二、存储 Bean 的基本方式1, 创建 Bean2, 存储 Bean 三、获取 Bean 的基本方式1, 获取上下文对象2, 获取 Bean3, 使用 Bean 总结 前言 各位读者好, 我是小陈, 这是我的个人主页, 希望我的…

谈一谈缓存穿透,击穿,雪崩

缓存穿透 缓存穿透是指在使用缓存系统时,频繁查询一个不存在于缓存中的数据,导致这个查询每次都要通过缓存层去查询数据源,无法从缓存中获得结果。这种情况下,大量的请求会直接穿透缓存层,直接访问数据源,…
推荐文章