SpringBoot 自定义启动画面
👉 这是一个或许对你有用的社群
🐱 一对一交流/面试小册/简历优化/求职解惑,欢迎加入「芋道快速开发平台」知识星球。下面是星球提供的部分资料:
《项目实战(视频)》:从书中学,往事上“练” 《互联网高频面试题》:面朝简历学习,春暖花开 《架构 x 系统设计》:摧枯拉朽,掌控面试高频场景题 《精进 Java 学习指南》:系统学习,互联网主流技术栈 《必读 Java 源码专栏》:知其然,知其所以然
👉这是一个或许对你有用的开源项目
国产 Star 破 10w+ 的开源项目,前端包括管理后台 + 微信小程序,后端支持单体和微服务架构。
功能涵盖 RBAC 权限、SaaS 多租户、数据权限、商城、支付、工作流、大屏报表、微信公众号、CRM 等等功能:
Boot 仓库:https://gitee.com/zhijiantianya/ruoyi-vue-pro Cloud 仓库:https://gitee.com/zhijiantianya/yudao-cloud 视频教程:https://doc.iocoder.cn 【国内首批】支持 JDK 21 + SpringBoot 3.2.2、JDK 8 + Spring Boot 2.7.18 双版本
我们启动项目的之后,会在控制台上看到类似下面的画面:
呀呀呀~ 看不懂这是啥图案啊~
那么,我们是否可以自定义呢?
「肯定可以」
自定 Banner
上面👆的截图信息就是 Banner
信息,我们可以在项目的 resources
下新建 banner.txt
来实现,比如:
// banner.txt
Jimmy
然后我们重新启动项目,则有:
基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能
项目地址:https://github.com/YunaiV/ruoyi-vue-pro 视频教程:https://doc.iocoder.cn/video/
获取属性
当然,我们可以获取项目的属性,通过 ${属性名}
来获取,比如:
${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
版本信息
基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能
项目地址:https://github.com/YunaiV/yudao-cloud 视频教程:https://doc.iocoder.cn/video/
设置颜色
刚才我们提到了 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
信息了:
欢迎加入我的知识星球,全面提升技术能力。
👉 加入方式,“长按”或“扫描”下方二维码噢:
星球的内容包括:项目实战、面试招聘、源码解析、学习路线。
文章有帮助的话,在看,转发吧。
谢谢支持哟 (*^__^*)
微信扫码关注该文公众号作者