SpringBoot 自定义启动画面

👉 这是一个或许对你有用的社群

🐱 一对一交流/面试小册/简历优化/求职解惑,欢迎加入「芋道快速开发平台」知识星球。下面是星球提供的部分资料: 

1233dceb49c8c80daca7b024075b44e4.gif

👉这是一个或许对你有用的开源项目

国产 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 双版本 

来源:juejin.cn/post/
7259965990960201787


我们启动项目的之后,会在控制台上看到类似下面的画面:

35a2ae9e7228ef64ef61abc4fa2fe4b7.jpeg

呀呀呀~ 看不懂这是啥图案啊~

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

「肯定可以」

自定 Banner

上面👆的截图信息就是 Banner 信息,我们可以在项目的 resources 下新建 banner.txt 来实现,比如:

// banner.txt
Jimmy

然后我们重新启动项目,则有:

d964e4ec06d35508ffc5dddf6dff5e00.jpeg

基于 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}

我们重新运行下项目,效果如下:

b97f22d7d55e375590498defe1b7ee66.jpeg

关闭 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 信息了:

d9721b2a1784a592a7045ef58edf70a9.jpeg

欢迎加入我的知识星球,全面提升技术能力。

👉 加入方式,长按”或“扫描”下方二维码噢

c6d060ed97e25ae0ed5916dad93e4135.png

星球的内容包括:项目实战、面试招聘、源码解析、学习路线。

f5038adc5076a76fc17b65b7069a0aec.png

ae2e1a51893ab20401a38182a8b92ab2.png706e603886df7fde0329309577345179.pngd13f130252be2c72bba4c4a6768cf9d8.png027a9eeaad6f11ea7ab57fd9f4bfab4b.png

文章有帮助的话,在看,转发吧。
谢谢支持哟 (*^__^*)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值