springboot趣味banner
时间: 2025-05-15 21:05:07 浏览: 24
### Spring Boot 自定义启动 Banner 的实现方法
在 Spring Boot 中,默认情况下会在应用程序启动时打印一个 ASCII 艺术风格的 Banner。可以通过配置 `application.properties` 或者提供自定义的 Banner 文件来修改默认行为。
#### 配置方式一:禁用 Banner
如果不需要显示任何 Banner,可以在 `application.properties` 文件中设置以下属性[^3]:
```properties
spring.main.banner-mode=off
```
#### 配置方式二:使用自定义 Banner 文本
可以创建一个名为 `banner.txt` 的文件并将其放置在类路径下的根目录(通常是 `src/main/resources/`)。该文件的内容将是程序启动时显示的自定义 Banner。例如:
```text
_______ __ ____ ____
| |.-----.----| |--. | \ / \
| - || _ | __| | | _/_____| _/
|_______|| __|____|__|__| |_____|\_____/|____|
|__|
Welcome to My Custom Application!
```
当应用程序运行时,上述内容将会作为 Banner 显示出来。
#### 配置方式三:动态生成 Banner
除了静态文本外,还可以通过 Java 代码动态生成 Banner。为此,需要实现 `org.springframework.boot.Banner` 接口,并将其注册到 Spring 应用上下文中。下面是一个简单的示例:
```java
import org.springframework.boot.Banner;
import org.springframework.core.env.Environment;
import java.io.PrintStream;
public class CustomBanner implements Banner {
@Override
public void printBanner(Environment environment, Class<?> sourceClass, PrintStream out) {
out.println(" _______ __ ____ ____");
out.println("| |.-----.----| |--. | \\ / \\");
out.println("| - || _ | __| | | _/_____| _/");
out.println("|_______|| __|____|__|__| |_____|\_____/|____|");
out.println(" |__|");
out.println("Welcome to the Dynamic Custom Application!");
}
}
```
接着,在主应用类中注册这个自定义 Banner 实现:
```java
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Example {
public static void main(String[] args) {
SpringApplication app = new SpringApplication(Example.class);
app.setBanner(new CustomBanner());
app.run(args);
}
@RestController
public static class HomeController {
@RequestMapping("/")
public String home() {
return "Hello World!";
}
}
}
```
以上代码会覆盖默认 Banner 并展示由 `CustomBanner` 类定义的新 Banner。
---
#### 启动流程中的关键点
Spring Boot 在启动过程中会从 `META-INF/spring.factories` 文件加载所有的 `SpringApplicationRunListener` 和其他初始化器[^2]。这些组件负责执行一系列操作,其中包括读取 Banner 设置以及渲染最终输出。
---
### 总结
无论是通过简单地编辑 `banner.txt` 文件还是编写复杂的逻辑来自动生成 Banner,都可以轻松定制 Spring Boot 的启动界面。这不仅有助于提升项目的个性化程度,还能为团队成员或客户留下深刻印象。
阅读全文
相关推荐















