来源:周立的博客
地址:http://www.itmuch.com/spring-boot/banner/
相信玩过Spring Boot的童鞋一定在启动日志中见过类似如下的内容。本文详细探讨如何定制这部分内容,让内容更加趣味性。
|
. ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.1.4.RELEASE)
|
如何自定义
自定义Banner非常简单,只需在 classpath
( src/main/resources
)下创建创建名为 banner.txt
的文件即可。
Banner生成工具
自己画Banner是很麻烦的,下面提供几款工具,将图片转换成ASCII字符,快速生成Banner。
下面是笔者准备好的Banner:
|
_ooOoo_ o8888888o 88" . "88 (| ^_^ |) O\ = /O ____/`---'\____ .' \\| |// `. / \\||| : |||// \ / _||||| -:- |||||- \ | | \\\ - /// | | | \_| ''\---/'' | | \ .-\__ `-` ___/-. / ___`. .' /--.--\ `. . ___ ."" '< `.___\_<|>_/___.' >'"". | | : `- \`.;`\ _ /`;.`/ - ` : | | ========`-.____`-.___\_____/___.-`____.-'======== \ \ `-. \_ __\ /__ _/ .-` / / `=---=' ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 佛祖保佑 永不宕机 永无Bug
|
占位符与描述信息
banner.txt
支持占位符,占位符可用于描述项目,同时也可定制Banner显示的具体细节。
允许使用的占位符如下表所示:
Variable
Description
${application.version} |
应用版本,从MANIFEST.MF 读取Implementation-Version 的值并显示。例如Implementation-Version: 1.0 ,则打印 1.0
|
${application.formatted-version} |
将应用版本用括号括起来,并添加前缀v。例如:Implementation-Version: 1.0 ,则打印 (v1.0)
|
${spring-boot.version} |
打印Spring Boot版本,例如 2.1.4.RELEASE
|
${spring-boot.formatted-version} |
将Spring Boot版本用括号括起来,并添加前缀v。例如: (v2.1.4.RELEASE)
|
${Ansi.NAME} (or ${AnsiColor.NAME} , ${AnsiBackground.NAME} , ${AnsiStyle.NAME} ) |
指定ANSI转义码,详见 org.springframework.boot.ansi.AnsiPropertySource
|
${application.title} |
应用标题,从 MANIFEST.MF 读取 Implementation-Title 的值并打印。例如 Implementation-Title: itmuch-app ,则打印 itmuch-app 。 |
测试
创建 banner.txt
,内容如下:
|
${AnsiBackground.BRIGHT_YELLOW}${AnsiColor.BLUE}${AnsiStyle.BOLD} 应用版本:${application.version} Spring Boot版本:${spring-boot.version} 应用标题:${application.title}
|
构建好应用后,启动日志将会打印类似如下图的内容:
图片支持
Spring Boot同样支持使用图片作为Banner,只需将图片放到项目的classpath
(src/main/resources
)目录下,命名为banner
,格式支持png
、jpg
、gif
。
不妨测试一下——
由图可知,Spring Boot会自动将图片转换成ASCII字符展示。此外,还可在 application.yml
中使用 spring.banner.image.*
配置图片Banner显示的具体细节。
TIPS
看到这里,聪明的你一定会想到:不借助本文介绍的 Banner生成工具
也可生成文字Banner!只需将图片命名为banner.jpg/png/gif,然后将打印出来的Banner日志复制出来,并命名为 banner.txt
即可。
禁用Banner
添加如下配置:
|
spring: main: banner-mode: "off"
|
或在启动类上添加类似如下代码:
|
public static void main(String[] args) { SpringApplication app = new SpringApplication(MySpringConfiguration.class); app.setBannerMode(Banner.Mode.OFF); app.run(args); }
|
福利
最后献上笔者项目中所使用的Banner。
|
${AnsiColor.GREEN} _ooOoo_ o8888888o 88" . "88 (| ^_^ |) O\ = /O ____/`---'\____ .' \\| |// `. / \\||| : |||// \ / _||||| -:- |||||- \ | | \\\ - /// | | | \_| ''\---/'' | | \ .-\__ `-` ___/-. / ___`. .' /--.--\ `. . ___ ."" '< `.___\_<|>_/___.' >'"". | | : `- \`.;`\ _ /`;.`/ - ` : | | ========`-.____`-.___\_____/___.-`____.-'======== \ \ `-. \_ __\ /__ _/ .-` / / `=---=' ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 佛祖保佑 永不宕机 永无Bug ================================================== Application Info:${application.title}-${application.version} Powered by:Spring Boot ${spring-boot.version}
|
效果:
分享到:
相关推荐
- 通过自定义SpringApplication来扩展Spring Boot的功能。 - **23.4. 流式构建API** - 使用流式API来构建SpringApplication实例。 - **23.5. 应用事件和监听器** - 监听Spring Boot应用中的各种事件。 通过以上...
1.28 Spring Boot使用自定义的properties 1.29 改变自动扫描的包 1.30 Spring Boot Junit单元测试 1.31 SpringBoot启动时的Banner设置 1.32 Spring boot 文件上传(多文件上传) 1.33 导入时如何定制spring-boot依赖...
Spring Boot还提供了将应用打包用于生产环境的细节,包括SpringApplication类的使用、启动失败处理、自定义Banner、自定义SpringApplication以及流式构建API。 Spring Boot特性一节讲解了如何使用ApplicationRunner...
- 配置应用:Spring Boot允许用户进行静态资源处理、任务调度、自定义配置文件读取等,以及自定义启动Banner和配置文件的热部署。 - 系统监控:Spring Boot可以集成Spring Actuator,帮助开发者监控和管理生产环境中...
Spring Boot 自定义 Banner 实现代码 Spring Boot 是一个基于 Java 的开源框架,提供了许多实用的功能和工具来帮助开发者快速构建企业级应用程序。其中,自定义 Banner 是一个非常有用的功能,可以让开发者在应用...
- Spring Boot包含一些默认属性和自定义Banner的选项。 - 描述了如何使用Spring Boot的自动配置以及如何逐步替换和禁用特定的自动配置。 - 提供了关于如何在Spring Boot中创建和使用Spring Beans和依赖注入的信息。 ...
如果选择编程方式实现,可以通过实现`org.springframework.boot.Banner`接口并重写`printBanner`方法来自定义输出。 总的来说,SpringBoot的核心注解提供了简洁的代码结构,自动配置简化了项目配置,而自定义banner...
另外,开发者可以创建一个自定义的`Banner`类,扩展`org.springframework.boot.Banner`接口并实现`printBanner()`方法。这个方法允许你在启动时打印任何你想展示的内容,包括ASCII艺术或其他复杂格式。例如: ```...
Spring Boot的启动过程中,我们可以自定义启动横幅(Banner)来展示项目信息或个性化内容。本工具是针对这一需求,提供了一个将图片转换为Spring Boot横幅文本资源的解决方案。这个小工具允许开发者将任何图像转化为...
- **自定义Banner**:解释如何定制Spring Boot应用启动时显示的Banner图像。 - **自定义SpringApplication**:介绍如何扩展SpringApplication类来自定义应用的行为。 - **流式构建API**:介绍一种流式的构建方式...
Spring Boot 应用启动时会输出一个 ASCII 字符串的 Logo(即 banner),我们可以根据自己的喜好定制这个 banner。 1. **在线生成 ASCII 字符串**: - 使用网站如 `http://www.network-science.de/ascii/`、`...
- [Spring Boot自定义Banner](http://blog.didispace.com/spring-boot-banner/) ### Dubbo进行服务治理 - chapter9-2-1:[Spring Boot中使用Dubbo进行服务治理] - chapter9-2-2:[Spring Boot与Dubbo中管理服务...
- **自定义Banner**:可以通过自定义`banner.txt`文件并将其放置在`src/main/resources`目录下来设置启动时显示的Banner。 - **自定义日志级别**:在`application.properties`中配置日志级别,例如`logging.level....
这里详细介绍了如何自定义SpringApplication,包括修改启动时的Banner、自定义SpringApplication对象以及流畅构建API的使用。此外,还涉及了如何使用Application事件和监听器,如何配置Web环境,以及如何使用命令行...
- **定义 Banner**:可以自定义启动时显示的 Banner。 - **定义 SpringApplication**:了解如何自定义 SpringApplication 的行为。 - **流畅的 API 构造**:SpringApplication 提供了一套流畅的 API,用于配置...
文档还介绍了如何自定义Banner、自定义SpringApplication、使用ApplicationRunner或CommandLineRunner接口以及Web组件的配置。 整个文档是Spring Boot开发者必备的参考资料,它覆盖了从搭建开发环境到部署生产应用...
- **自定义Banner**:自定义启动时显示的信息。 - **自定义SpringApplication**:扩展SpringApplication以满足特殊需求。 - **流畅的构建API**:使用流畅的API构建Spring应用。 - **Application事件和监听器**:...
最后,文档深入介绍了SpringApplication类及其相关的特性,如启动失败处理、自定义Banner、流式构建API和Application事件监听器等高级特性。 整个手册内容丰富,涉及到Spring Boot框架的方方面面,从初学者的快速...