从零搭建后端框架:banner这么玩简直酷毙了

时间:2024-04-09 22:11:32

背景
昨天带大家构建了Spring Boot项目,并且成功启动,不知道大家有没有注意打印的内容:
从零搭建后端框架:banner这么玩简直酷毙了
看到这不知道大家有没有很奇怪这到底是什么鬼,我能不能灭了它?花少告诉你,这叫banner,而且你还能换成你专属,有没有心动想来尝试下?不管你有没有心动,花少已经迫不及待要去盘它了!!!

一、来自何方
就是这个SpringApplicationBannerPrinter类的getBanner方法在捣鬼:
从零搭建后端框架:banner这么玩简直酷毙了

Spring Boot首先获取自定义的图片Banner和文本Banner,如果未自定义,则使用默认的Banner,即
private static final Banner DEFAULT_BANNER = new SpringBootBanner();
再进去看SpringBootBanner类的BANNER常量:卧槽,原来它写死在代码里啊!low爆了,果断换了它,要是不换都影响coding的心情

二、私人定制
1、自定义banner图片
一般使用像素较小、比较简单的logo,支持gif、jpg、png格式,Spring Boot会解析图片的像素,然后用ANSII的方式输出到控制台,我们随便找个图片放到src/resources文件夹下,命名为banner.jpg
从零搭建后端框架:banner这么玩简直酷毙了

有没有感觉控制台打印的banner太大了,当然我们也可以在application.properties文件中对banner做一些配置:
spring.banner.image.location 指定Banner图片位置
spring.banner.image.width 指定打印Banner宽度
spring.banner.image.height 指定打印Banner高度

2、自定义banner文本
Banner文本,需要制作banner.txt文件,同样放在src/resources文件夹下,文件制作可以使用在线网站,比如:www.bootschool.net/ascii-art
从零搭建后端框架:banner这么玩简直酷毙了

在文本中可以使用一些占位符
${AnsiColor.BRIGHT_RED} 控制台中输出内容的颜色
${application.version} 应用程序的版本号
${application.formatted-version} 应用程序的版本号(带有前缀v,比如v1.0)
${spring-boot.version} Spring Boot的版本号
${spring-boot.formatted-version} Spring Boot的版本号(带有前缀v,比如v1.0)
${application.title} 应用程序的标题
文本Banner支持一些配置
spring.banner.location 指定Banner文本位置
spring.banner.charset 设置文件编码,默认UTF-8

三、让它消失
1、在启动class文件中
public static void main(String[] args) {
SpringApplication application = new SpringApplication(FlowerApplication.class);
// 关闭Banner
application.setBannerMode(Banner.Mode.OFF);
application.run(args);
}

2.在application.properties文件添加配置
spring.main.banner-mode=off

今天本来想休息的,不过花少觉得这么好玩的东西不能不让我的粉丝们知道,所以拼着最后一口仙气将它们写完。下一篇我就不分享技术文了,太枯燥了,前两天有个同事正好离职了,我们组一起吃了个散伙饭,大家伙也都各自感叹了下人生,可能会分享一下跟职场相关或者跟跳槽相关的文章,暂时没想好,所以标题大家定吧

花有重开日,人无再少年 → 我是花少【少宫主花无缺】#更新不断,创作不易#走过路过不不白piao,留下关注和点赞(公众号同名)@all