我的springboot学习之自定义控制台输出的图案

本文介绍了如何自定义SpringBoot应用启动时控制台显示的banner,通过新建banner.txt文件,编写图案,并修改启动类,实现个性化控制台输出。还分享了在线工具帮助创建图案,并提到可以使用gif动图,让控制台更生动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这次小可爱不想打代码,只想研究点小可爱觉得好玩的东西~

原来,springboot启动的时候,控制台输出的图案叫banner

banner?啥玩意儿?相信有些人,一定是一脸懵逼...

——这个就不陌生了吧,这个是我们启动springboot的时候,控制台输出的...

 

一开始我在接触jeesite这个开源项目的时候,觉得很奇怪,

为什么人家是springboot,我也是springboot,

人家显示的是jeesite,我是spring!

 

后来,好奇宝宝去查了一下,原来这个是可以自定义的,哈哈...

小可爱应该知道好奇宝宝要做啥了吧~

怎么改写这个banner呢,这个其实很简单,只需要在类路径下面新增banner.txt文件!

啥?这么简单么?!

对,没错,就是这么简单!

 

第一步:新建banner.txt

啥?搞乜嘢啊?竟然第一步是新建txt,别怀疑,就是这么不要脸~

在哪里新建?当然是在我们项目里的resources文件夹下,对!没错,就是它,resources文件夹!

一般是src/main/resources,憋记错哦,我的小可爱<

### Spring Boot 控制台 Banner 自定义配置教程 #### 一、背景介绍 Spring Boot 提供了一种简单的方式来自定义应用程序启动时显示的 BannerBanner 是一种在应用启动时打印控制台的信息,通常用于展示公司标志、项目名称或其他重要信息。 #### 二、实现方式 ##### 文本 Banner 配置 可以通过创建 `banner.txt` 文件来自定义文本形式的 Banner。此文件应放置于项目的类路径下(通常是 `src/main/resources/`)。以下是具体操作方法: 1. 创建一个名为 `banner.txt` 的文件并将其放入 `src/main/resources/` 目录中。 2. 编辑该文件以包含所需的 ASCII 艺术字符或纯文本内容。例如: ``` ________ __ _ _ / ____/ /_ ___ _____/ /___ (_)___(_) / / / __ \/ _ \/ ___/ / __ \/ / __\/ / / /___/ / / / __/ /__/ / /_/ / / /__/ / \____/_/ /_/\___/\___/_/\____/_/\___/_/ ``` 上述示例展示了如何通过简单的 ASCII 字符构建艺术化的 Logo[^1]。 ##### 图片 Banner 配置 (已废弃) 早期版本的 Spring Boot 支持使用图片作为 Banner,并允许开发者通过属性 `spring.banner.image.location` 来指定图片位置。然而需要注意的是,在 **Spring Boot 3.x** 版本中,这一特性已经被移除,不再支持基于图像的 Banner 显示[^3]。 因此,对于最新版的应用程序开发而言,建议专注于文本化的内容设计而非依赖图形资源。 ##### 动态生成 Banner 除了静态文件外,还可以编程动态生成 Banner。这需要实现接口 `org.springframework.boot.Banner` 并重写其唯一的方法 `printBanner()` 。下面是一个例子演示如何完成这项工作: ```java import org.springframework.boot.Banner; import org.springframework.core.env.Environment; public class CustomBanner implements Banner { @Override public void printBanner(Environment environment, Class<?> sourceClass, PrintStream out) { String customMessage = "Welcome to My Awesome Application!"; StringBuilder sb = new StringBuilder(); // 构建个性化的欢迎消息 sb.append("_________________________________________\n"); sb.append("| |\n"); sb.append(String.format("| %-40s|\n",customMessage)); sb.append("|_____________________________|___________|\n\n"); out.println(sb.toString()); } } ``` 接着需注册这个新的 Banner 类型至 Spring 应用上下文中,可通过设置环境变量或者直接修改引导类中的 main 方法参数列表来达成目的[^4]: ```java @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication application = new SpringApplication(DemoApplication.class); application.setBanner(new CustomBanner()); // 设置自定义 Banner application.run(args); } } ``` 以上代码片段说明了怎样利用 Java 程序逻辑创造独特的启动横幅效果。 #### 总结 综上所述,无论是采用预设好的 `.txt` 文件还是编写专属逻辑去渲染复杂图案,都能满足不同场景下的需求。不过鉴于未来兼容性的考量,请优先考虑基于字符串表达式的方案。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值