SpringBoot项目启动彩蛋与启动完成提示修改

1. 前言

最近在做一个开源的SpringBoot学习项目,想在项目启动时加一下自己的Logo。

2. SpringBoot启动彩蛋

在这里插入图片描述
启动一个SpringBoot项目就可以看到控制台输出了这个Spring的logo,我们想把她改成自己的Logo也很简单。

2.1. banner.txt

首先在项目resource文件夹下创建banner.txt文件,然后将我们需要的替换彩蛋的内容输入到这个文件里。
这样,再次启动项目时,彩蛋就已经被替换了。
在这里插入图片描述

推荐几个字符/图片转化的网站
http://patorjk.com/software/taag/
http://www.network-science.de/
https://spring-boot-banner-gen.cfapps.io/
http://www.degraeve.com/img2txt.php

2.2. 一点点改进

在banner中还可以添加一些应用信息

${application.version} 与MANIFEST.MF文件中相同的版本号,比如1.5.4.RELEASE
${application.formatted-version} 格式化过的版本号就是加个v然后用括号包起来,比如(v1.5.4.RELEASE)
${application.title} 这玩意儿在哪设置的我忘记了
${spring-boot.version} Spring Boot的版本
${spring-boot.formatted-version} 格式化过的版本

改进之后,我们的banner内容如下

在这里插入图片描述
显示效果如下
在这里插入图片描述

2.3. 其他

根据手册描述,还可以根据以下来配置banner的颜色 背景图片 banner.tx路径,有兴趣的可以自己尝试一下

spring.banner.location=classpath:banner.txt # Banner text resource
location. spring.banner.image.location=classpath:banner.gif # Banner
image file location (jpg or png can also be used).
spring.banner.image.width=76 # Width of the banner image in chars.
spring.banner.image.height= # Height of the banner image in chars
(default based on image height). spring.banner.image.margin=2 # Left
hand image margin in chars. spring.banner.image.invert=false # Whether
images should be inverted for dark terminal themes.

3. 启动成功提示

3.1. 简单方法修改

最简单的方法就是在启动方法后面直接sout打印,但是这样好像很low,所以不再演示。

3.2. 继承初始化方法

代码


import org.springframework.boot.CommandLineRunner;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;

/**
 * @author baldwin
 */
@Component
@Order(1)
public class MyStartLog implements CommandLineRunner {

    @Override
    public void run(String... args) throws Exception {
        StringBuilder commandLog = new StringBuilder();
        commandLog.append("+==================================================================================+\n");
        commandLog.append("+                        项目启动成功!!!                                             +\n");
        commandLog.append("+        我的博客地址:https://yzstu.blog.csdn.net                                    +\n");
        commandLog.append("+        当前项目地址:https://gitee.com/dikeywork/learn-springboot/                  +\n");
        commandLog.append("+        系列文章地址:https://blog.csdn.net/shouchenchuan5253/category_10223260.html +\n");
        commandLog.append("+==================================================================================+\n");
        System.out.println(commandLog.toString());
    }
}

效果
在这里插入图片描述

3.3. 拓展

在MyStartLog上的注解@Order(1)的作用是,当存在多个类似的自定义类时,用作排序

4. 总结

代码地址:https://gitee.com/dikeywork/learn-springboot/
更多文章地址:https://yzstu.blog.csdn.net

Baldwin_KeepMind CSDN认证博客专家 Java 架构 MySQL
共和国十一点钟的太阳,没有感情的写博客机器,头发乌黑茂密的程序员,公司新晋加班狂魔,沉迷于技术,2006年时代周刊人物,2008年感动中国组委会特别奖获得者,座右铭是“技术只是开始”
©️2020 CSDN 皮肤主题: 鲸 设计师:meimeiellie 返回首页