写在最前

我们在启动 Spring Boot 项目时会在控制台打印如下内容(logo 和版本信息):

  .   ____          _            __ _ _/\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \\\/  ___)| |_)| | | | | || (_| |  ) ) ) )'  |____| .__|_| |_|_| |_\__, | / / / /=========|_|==============|___/=/_/_/_/:: Spring Boot ::                (v2.6.6)

动手替换

生成 Banner

通过如下链接可以生成自己项目想要的 ASCII 艺术字

  • 定制化 ASCII 字符1
  • 定制化 ASCII 字符2
  • 定制化 ASCII 图片

如下生成 banner 字符

                          To My Love!-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-__        __        __        __.*.         /~ .~\    /~  ~\    /~ .~\    /~  ~\***        '      `\/'      *  '      `\/'      *V        (                .*)(               . *)
/\|/\       \     Ming   . *./  \      Yue   . *./|          `\ .      . .*/'    `\ .      . .*/'     .*.|            `\ * .*. */' _    _ `\ * .*. */'       ***`\ * */'  ( `\/'*)  `\ * */'          V`\/'     \   */'    `\/'          /\|/\`\/'                      |--+++==##<<{{******** Ming Yue ********}}>>##==++--

替换 Banner

项目的 resources 资源目录下创建 banner.txt 文件。例如:把上面生成的 banner 替换进去

再次启动项目,打印如上面 banner 字符即可。此时我们发现对应的 Spring Boot 的一些版本信息没有了,如果还想要,可以添加。

追加 Spring Boot 版本信息等

  1. ${spring-boot.version}:Spring Boot 版本号;
  2. ${spring-boot.formatted-version}:格式化后的 Spring Boot 版本号信息。
  3. ${application.version}:MANIFEST.MF 文件中的版本号;
  4. ${application.formatted-version}:格式化后的 MANIFEST.MF 文件中的版本号信息;

追加配置文件 application.properties 中定义的变量

app.author=Strive

最终文件如下,再次启动项目查看打印

                          To My Love!-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-__        __        __        __.*.         /~ .~\    /~  ~\    /~ .~\    /~  ~\***        '      `\/'      *  '      `\/'      *V        (                .*)(               . *)
/\|/\       \     Ming   . *./  \      Yue   . *./|          `\ .      . .*/'    `\ .      . .*/'     .*.|            `\ * .*. */' _    _ `\ * .*. */'       ***`\ * */'  ( `\/'*)  `\ * */'          V`\/'     \   */'    `\/'          /\|/\`\/'                      |--+++==##<<{{******** Ming Yue ********}}>>##==++--
:: Spring Boot :: (${spring-boot.version})--by ${app.author}

打印如下:

                          To My Love!-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-__        __        __        __.*.         /~ .~\    /~  ~\    /~ .~\    /~  ~\***        '      `\/'      *  '      `\/'      *V        (                .*)(               . *)
/\|/\       \     Ming   . *./  \      Yue   . *./|          `\ .      . .*/'    `\ .      . .*/'     .*.|            `\ * .*. */' _    _ `\ * .*. */'       ***`\ * */'  ( `\/'*)  `\ * */'          V`\/'     \   */'    `\/'          /\|/\`\/'                      |--+++==##<<{{******** Ming Yue ********}}>>##==++--
:: Spring Boot :: (2.6.6)--by Strive

实现原理

Banner 接口专门实现这个操作。要想自定义打印 banner ,只要自定义一个类实现这个接口,重写 printBanner 方法进行打印即可。Springboot 项目启动时,会创建我们的实现类对象,并调用对象的 printBanner 方法。

package org.springframework.boot;import java.io.PrintStream;
import org.springframework.core.env.Environment;@FunctionalInterface
public interface Banner {void printBanner(Environment environment, Class<?> sourceClass, PrintStream out);public static enum Mode {OFF, // 关闭 banner 打印CONSOLE, // 打印 banner 到 控制台LOG; // 打印 banner 到日志文件private Mode() {}}
}

printBanner 默认有三个实现:

  • ImageBanner:加载和打印图片 banner;
  • ResourceBanner:加载和打印字符 banner;
  • SpringBootBanner:默认情况下,会使用 SpringBootBanner 实现类打印 banner;

【基础篇】SpringBoot 自定义 Banner相关推荐

  1. IDEA SpringBoot 自定义Banner

    IDEA SpringBoot 自定义Banner 首先在IDEA项目中创建banner.txt文件 然后浏览器搜索SpringBoot Banner在线生成工具 选择一个自己喜欢的banner 例如 ...

  2. SpringBoot自定义banner,如何定制炫酷的banner提升项目B格?

    文章目录 写在前面 自定义banner 使用banner.txt文件 使用图片 手写一个banner banner参数 在 application.properties 文件中可以配置banner其他 ...

  3. SpringBoot自定义banner小彩蛋

    我们在启动 SpringBoot 时,控制台会打印 SpringBoot Logo 以及版本信息:这个操作是可以通过 SpringBoot的banner自定义实现 . ____ _ __ _ _/\\ ...

  4. 彩蛋!springboot自定义banner

    1.搜索banner,寻找喜欢的图 百度搜索springboot banner在线生成,或者点下面链接直接进入: 链接:Spring Boot自定义启动Banner在线生成工具 2.在resource ...

  5. SpringBoot 自定义Banner

    1.进入http://patorjk.com/software/taag 输入 toto 2.查看Banner中的内容

  6. 元旦加班写SpringBoot自定义注解

    写在前面 这个点我们公司的人走的已经差不多了,原因很简单呀,明天元旦嘛,放假前可是不加班的,很nice,实习生的我,今天给大家分享一篇springboot自定义注解的技术文章. 很牛逼的注解 开发过程 ...

  7. 玩转 SpringBoot 2.x 之自定义 Banner 日志输出原理篇

    1 查看 SpringBoot 官方文档 https://docs.spring.io/spring-boot/docs/2.0.6.RELEASE/reference/htmlsingle/#boo ...

  8. 黑马SpringBoot --基础篇

    目录 导读 1.快速上手 1.1SpringBoot入门程序开发 1.1.1基础创建方式--常规 1.1.2手动创建方式--补充 1.1.3基础创建方式--下载 1.1.4基础创建方式--阿里云 1. ...

  9. SpringBoot源码解析(十一)自定义banner

    上篇文章结束了prepareEnvironment方法的分析,本篇继续SpringApplication的run方法往下走,看一个比较简单的点--banner打印 所谓banner就是SpringBo ...

  10. SpringBoot系统整理|基础篇|黑马视频

    写在前面:很早之前看了狂神的springboot快速入门,后来发现还是有很多开发知识点需要补充学习.乘着假期,将基础篇.运维实用篇.开发实用篇.原理篇一口气学习巩固,再次记录下学习笔记.系列笔记在sp ...

最新文章

  1. AndroidManifest.xml文件详解
  2. 9 个可以快速掌握的 Java 性能调优技巧
  3. GlusterFS架构与维护
  4. asp单元格合并后宽度没有合并_宅在家里跟着大牛从零开始学excel第五课-合并,边框,列宽行高...
  5. linux开启关闭网络指令
  6. LoRa全链路打通教程01 - LoRa网关配置查看和修改方法详解(以ST P-NUCLEO-LRWAN3 套件为例)
  7. 2021中青杯C题-在线教学的分析与研究
  8. ORA-12162错误解决
  9. EJB2.0雨夜教程之一
  10. cm4 NVIC完全解析
  11. 在线IP到地理位置解析的API接口,IP到地理位置、所属组织名、AS号、域名反查
  12. 鲤鱼溪传说:神鱼与三仙姑
  13. python文件读取下一个字符_python文件的读写总结
  14. spring cloud contract的应用实现与概念理解-服务提供者一侧的落地
  15. mysql本周 下周下月,mysql 日期计算,今天,明天,本周,下周,本月,下月
  16. 用计算机怎么更改进位制,计算机中的进位制,8421法是怎么转换的啊,求解
  17. 计算机组成原理(计算机硬件)
  18. MacClean360 for Mac(mac系统清理软件)
  19. 生活的乐趣源于生活本身
  20. Java-Level1-day02:录入信息案例;变量交换;字面值规则;基本数据类型处理问题;运算符;流程控制if分支结构

热门文章

  1. 2022年必备的加密行业术语大全,你了解有多少?
  2. 皮皮虾如何引流?皮皮虾运营如何变现?皮皮虾APP怎么引流?
  3. 右击文件转圈卡住、刷新、白屏、闪退、桌面崩溃的通用解决方法
  4. 变声算法实现(基频追踪+SOLA)
  5. 资源吧网站模板下载织梦cms精仿资源吧网站模板
  6. apicloud 打开高德地图进行导航
  7. 【网络安全工程师面试合集】—社会工程学到底是什么?
  8. CircularProgressIndicator
  9. Mybatis复杂查询(详细举例)
  10. 用户验收测试要求目标