SpringBoot2.x系列教程03--SpringBoot花样配置之自定义Banner

简介: 前言在前面的几个章节中,壹哥 带大家认识了SpringBoot的由来、优缺点,以及在SpringBoot中创建Web项目的3种方式。既然我们现在已经把SpringBoot项目创建出来了,那么SpringBoot中都隐藏着哪些宝藏呢?接下来 壹哥 会带你一点点揭开她的神秘面纱,让你一点点看清SpringBoot的美!今天我们先来学习SpringBoot中的一个小花样--配置一个自定义的Banner图,咱们的学习也可以很有趣哦。一. Spring Boot 常用配置本章节主要给大家介绍 Spring Boot 中的一些常用配置,比如 自定义 Banner、配置日志、关闭特定的自动配置等。

前言

在前面的几个章节中,壹哥 带大家认识了SpringBoot的由来、优缺点,以及在SpringBoot中创建Web项目的3种方式。

既然我们现在已经把SpringBoot项目创建出来了,那么SpringBoot中都隐藏着哪些宝藏呢?接下来 壹哥 会带你一点点揭开她的神秘面纱,让你一点点看清SpringBoot的美!今天我们先来学习SpringBoot中的一个小花样--配置一个自定义的Banner图,咱们的学习也可以很有趣哦。

一. Spring Boot 常用配置

本章节主要给大家介绍 Spring Boot 中的一些常用配置,比如 自定义 Banner、配置日志、关闭特定的自动配置等。这些配置功能实现起来都很简单,所以在我们对SpringBoot还不熟悉的时候,先来看看这些简单的功能该如何实现。

二. 自定义Banner

1. 创建SpringBoot项目

在进行配置之前,请各位结合我之前的教程,先创建一个自己的SpringBoot项目,然后进行本章节的配置。

2. Banner简介

在 Spring Boot 启动的时候,控制台里会显示一个默认的启动图案,我们称之为Banner,默认的Banner效果如下:

.   ____          _            __ _ _

    /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \

   ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \

    \\/  ___)| |_)| | | | | || (_| |  ) ) ) )

     '  |____| .__|_| |_|_| |_\__, | / / / /

    =========|_|==============|___/=/_/_/_/

    :: Spring Boot ::        (v1.5.8.RELEASE)

这个Banner是Spring Boot中自带的,其实就是Spring这个单词。如果你觉得不好看,它是可以更改的。我们作为一个追求极致的码农,怎么可以不定制一个属于自己的Banner呢?

接下来 壹哥 就带各位骚一把,制作一个属于自己的Banner图。

3. 新建banner.txt文件

首先我们要在 src/main/resources 目录下,新建一个 banner.txt文件,一开始这个文件中肯定是一片空白的,里面啥都没有,然后我们想办法在这个文件里填充自己设计的图案就好了。

如果我们没有特别好的设计思路,其实可以通过访问 http://patorjk.com/software/taag 这个网站,来生成自定义的banner字符串,将网站生成的字符复制到 banner.txt 中就可以啦。如下图所示:

我们在文本框中输入自己想生成的字符串即可。当然网上也有别的类似网站,各位可以搜索一下,如果找到了更好的,请分享给 壹哥 哦,毕竟好东西我都给你们了,你们也得给我点好看的,hiahia......

我们把网站中生成的字符串图案复制粘贴到banner.txt文件中,保存退出即可。

4. 运行程序

然后我们就把程序给运行起来,此时我的控制台会出现如下界面,这是我设计的banner图,如果你觉得不错,可以复制粘贴到自己的banner.txt文件中。

${AnsiColor.BLUE}
${spring-boot.version}
${spring-boot.formatted-version}
////////////////////////////////////////////////////////////////////
//                          _ooOoo_                               //
//                         o8888888o                              //
//                         88" . "88                              //
//                         (| ^_^ |)                              //
//                         O\  =  /O                              //
//                      ____/`---'\____                           //
//                    .'  \\|     |//  `.                         //
//                   /  \\|||  :  |||//  \                        //
//                  /  _||||| -:- |||||-  \                       //
//                  |   | \\\  -  /// |   |                       //
//                  | \_|  ''\---/''  |   |                       //
//                  \  .-\__  `-`  ___/-. /                       //
//                ___`. .'  /--.--\  `. . ___                     //
//              ."" '<  `.___\_<|>_/___.'  >'"".                  //
//            | | :  `- \`.;`\ _ /`;.`/ - ` : | |                 //
//            \  \ `-.   \_ __\ /__ _/   .-` /  /                 //
//      ========`-.____`-.___\_____/___.-`____.-'========         //
//                           `=---='                              //
//      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^        //
//      跟着壹哥走,天天喝啤酒              跟着壹哥混,天天吃馄饨       //
//                       信壹哥   无BUG                         //
////////////////////////////////////////////////////////////////////

5. 常用Banner设置属性

banner配置中,也有一些自己的常用属性,如下所示:

  • ${AnsiColor.BRIGHT_RED}: 设置控制台中输出内容的颜色;
  • ${application.version}:用来获取 MANIFEST.MF 文件中的版本号;
  • ${application.formatted-version}: 格式化后的 ${application.version} 版本信息;
  • ${spring-boot.version}: Spring Boot 的版本号;
  • ${spring-boot.formatted-version}: 格式化后的 ${spring-boot.version} 版本信息。

这些配置信息的功能如下表所示:

6. Banner其他配置

我们可以在项目的application.properties文件中,进行一些banner的基本属性配置。

src/main/resources目录下,我们可以创建一个application.properties配置文件,在该文件中可以添加如下配置信息:

#BANNER#配置banner的模式,console,log,off#spring.main.banner-mode=off#Bannerfileencoding.
spring.banner.charset=UTF-8#Bannertextresourcelocation.
spring.banner.location=classpath:banner.txt#Bannerimagefilelocation (jpgorpngcanalsobeused).
spring.banner.image.location=classpath:banner.gif#Widthofthebannerimageinchars.
spring.banner.image.width=76#Heightofthebannerimageinchars (defaultbasedonimageheight).
spring.banner.image.height=#Lefthandimagemarginincharsspring.banner.image.margin=2#Whetherimagesshouldbeinvertedfordarkterminalthemes.
spring.banner.image.invert=false

这些配置信息,主要是对banner图案的宽度、高度,文件位置等属性进行设置,其中#是properties文件中的注释!

7. 关闭Banner

如果我们不想在启动项目的时候展示Banner图,也可以关闭掉,毕竟这东西没啥作用,属于典型的奇技淫巧。

关闭banner图的方式有3种:

以代码方式关闭;

yml文件中关闭;

配置方式关闭

7.1 代码方式关闭

我们可以在Application入口类中设置Banner的启动模式,默认是开启的,可以关闭掉,代码如下。

@SpringBootApplicationpublicclassBannerApplication {
publicstaticvoidmain(String[] args) {
//SpringApplication.run(BannerApplication.class, args);SpringApplicationapplication=newSpringApplication(BannerApplication.class);
//设置banner模式,不需要打印banner可以关闭,默认是开启的application.setBannerMode(Banner.Mode.CONSOLE);
application.run(args);
    }
}

通过调用setBannerMode()方法,可以设置将banner打印console,log,或者不输出off,这样就可以控制banner图的显示与关闭。

5.2 yml文件配置

我们也可以在yml文件中,设置banner的模式,在yml文件中,将banner-mode设置为off即可关闭banner图:

spring:  main:    banner-mode: "off"

这种方式也可以关闭或打开banner图。

5.3 配置方式关闭

最后还有一种方式,这种方式就不用每次都写代码了,可以通过在每个项目的Edit Configurations中的spring boot选型里,找到Hide Banner,勾选,就可以关闭了!

这样,我们就掌握了3种开关banner图的方式了。

8. 代码结构

最终的项目代码结构,各位可以参考如下图来进行创建设置。

结语

今天的内容属于SpringBoot中的奇技淫巧,没有什么特别的难度,对我们开发本身来说也没有什么作用,只是可以让我们的编程变得更有意思一点而已。人生路漫漫,为什么不让每一天都多点乐趣呢?

你学会如何设置banner了吗?

今日小作业:

试着设计一个苍老师的banner图,作为自己的banner,设计好了请在评论区发给我。

相关文章
|
23天前
|
XML Java 数据格式
Springboot中自定义组件
Springboot中自定义组件
|
1月前
|
Java 调度 Spring
SpringBoot实现多线程定时任务动态定时任务配置文件配置定时任务
SpringBoot实现多线程定时任务动态定时任务配置文件配置定时任务
273 0
|
2月前
|
SQL Java 数据库连接
springboot中配置mybatis别名该怎么写?
springboot中配置mybatis别名该怎么写?
40 0
|
2月前
|
druid Java 数据库
druid+springboot加解密Druid链接池配置加密密码链接数据库
druid+springboot加解密Druid链接池配置加密密码链接数据库
64 0
|
22天前
|
前端开发 Java 应用服务中间件
Springboot对MVC、tomcat扩展配置
Springboot对MVC、tomcat扩展配置
|
6天前
|
缓存 Java Sentinel
Springboot 中使用 Redisson+AOP+自定义注解 实现访问限流与黑名单拦截
Springboot 中使用 Redisson+AOP+自定义注解 实现访问限流与黑名单拦截
|
2天前
|
Web App开发 前端开发 Java
SpringBoot配置HTTPS及开发调试
在实际开发过程中,如果后端需要启用https访问,通常项目启动后配置nginx代理再配置https,前端调用时高版本的chrome还会因为证书未信任导致调用失败,通过摸索整理一套开发调试下的https方案,特此分享
8 0
SpringBoot配置HTTPS及开发调试
|
19天前
|
Java Shell 测试技术
一次配置,多场景适用:Spring Boot多套配置文件的深度剖析
一次配置,多场景适用:Spring Boot多套配置文件的深度剖析
35 0
一次配置,多场景适用:Spring Boot多套配置文件的深度剖析
|
23天前
|
Java 容器
SpringBoot使用配置注解开启自动配置功能&整合spring-boot-configuration-processor
SpringBoot使用配置注解开启自动配置功能&整合spring-boot-configuration-processor
16 0
|
23天前
|
前端开发 Java
Springboot对SpringMVC如何扩展配置
Springboot对SpringMVC如何扩展配置