首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring Boot Banner自定义,让你的应用与众不同

Spring Boot Banner自定义,让你的应用与众不同

作者头像
乱敲代码
发布2019-06-03 14:47:49
1.5K0
发布2019-06-03 14:47:49
举报
文章被收录于专栏:Java系列文章Java系列文章

TIPS 本文基于Spring Boot 2.1.4,理论支持Spring Boot所有版本。

相信玩过Spring Boot的童鞋一定在启动日志中见过类似如下的内容。本文详细探讨如何定制这部分内容,让内容更加趣味性。

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

如何自定义

自定义Banner非常简单,只需在 classpathsrc/main/resources )下创建创建名为 banner.txt 的文件即可。

Banner生成工具

自己画Banner是很麻烦的,下面提供几款工具,将图片转换成ASCII字符,快速生成Banner。

工具地址

作用

http://patorjk.com/software/taag[1]

写文字,选择字体,将字转成ASCII

http://picascii.com/[2]

上传图片,将图片转ASCII

其他

使用搜索引擎,搜索”图片转ASCII”即可

下面是笔者准备好的Banner:

                    _ooOoo_                   o8888888o                   88" . "88                   (| ^_^ |)                   O\  =  /O                ____/`---'\____              .'  \\|     |//  `.             /  \\|||  :  |||//  \            /  _||||| -:- |||||-  \            |   | \\\  -  /// |   |            | \_|  ''\---/''  |   |            \  .-\__  `-`  ___/-. /          ___`. .'  /--.--\  `. . ___        ."" '<  `.___\_<|>_/___.'  >'"".      | | :  `- \`.;`\ _ /`;.`/ - ` : | |========`-.____`-.___\_____/___.-`____.-'========      \  \ `-.   \_ __\ /__ _/   .-` /  /                     `=---='^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^         佛祖保佑       永不宕机       永无Bug

占位符与描述信息

banner.txt 支持占位符,占位符可用于描述项目,同时也可定制Banner显示的具体细节。

允许使用的占位符如下表所示:

Description

测试

创建 banner.txt ,内容如下:

${AnsiBackground.BRIGHT_YELLOW}${AnsiColor.BLUE}${AnsiStyle.BOLD}应用版本:${application.version}Spring Boot版本:${spring-boot.version}应用标题:${application.title}

构建好应用后,启动日志将会打印类似如下图的内容:

图片支持

Spring Boot同样支持使用图片作为Banner,只需将图片放到项目的classpathsrc/main/resources )目录下,命名为banner ,格式支持pngjpggif

不妨测试一下——

由图可知,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}

效果:

灵感启迪

如果你对Banner放什么感到茫然,笔者给你几个思路:

•项目愿景/期望(例如上面,笔者就期望永不宕机、永无Bug)•项目/团队/企业Slogan(好的项目都有一个好的Slogan)•你们老板的帅照(会跪舔很重要啊)•各种恶搞

相关源码

•org.springframework.boot.SpringApplicationBannerPrinter•org.springframework.boot.SpringBootBanner

比较简单,对原理感兴趣的童鞋可以研究一下。

配套代码

•GitHub[3]•Gitee[4]

干货分享

最近将个人学习笔记整理成册,使用PDF分享。关注我,回复如下代码,即可获得百度盘地址,无套路领取! •001:《Java并发与高并发解决方案》学习笔记;•002:《深入JVM内核——原理、诊断与优化》学习笔记;•003:《Java面试宝典》•004:《Docker开源书》•005:《Kubernetes开源书》•006:《DDD速成(领域驱动设计速成)》•007:全部•008:加技术群讨论

相关文章

Spring Boot 2.x监控数据可视化(Actuator + Prometheus + Grafana手把手图文教程)Spring Boot 最流行的 16 条最佳实践!这才是实现分布式锁的正确姿势!Spring Boot 2动态修改日志级别Spring Boot 2发送邮件手把手图文教程跨域访问支持(Spring Boot、Nginx、浏览器)译:在 Spring Boot 中使用 Spring AOP 和 AspectJ 来测量方法的执行时间Spring Boot、Dubbo项目Mock测试踩坑与总结

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-05-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 乱敲代码 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 如何自定义
  • Banner生成工具
  • 占位符与描述信息
    • 测试
    • 图片支持
    • 禁用Banner
    • 福利
    • 灵感启迪
    • 相关源码
    • 配套代码
    • 干货分享
    • 相关文章
    相关产品与服务
    Prometheus 监控服务
    Prometheus 监控服务(TencentCloud Managed Service for Prometheus,TMP)是基于开源 Prometheus 构建的高可用、全托管的服务,与腾讯云容器服务(TKE)高度集成,兼容开源生态丰富多样的应用组件,结合腾讯云可观测平台-告警管理和 Prometheus Alertmanager 能力,为您提供免搭建的高效运维能力,减少开发及运维成本。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档