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,设计好了请在评论区发给我。

目录
打赏
0
0
0
0
16
分享
相关文章
springcloud/springboot集成NACOS 做注册和配置中心以及nacos源码分析
通过本文,我们详细介绍了如何在 Spring Cloud 和 Spring Boot 中集成 Nacos 进行服务注册和配置管理,并对 Nacos 的源码进行了初步分析。Nacos 作为一个强大的服务注册和配置管理平台,为微服务架构提供
35 14
详细介绍SpringBoot启动流程及配置类解析原理
通过对 Spring Boot 启动流程及配置类解析原理的深入分析,我们可以看到 Spring Boot 在启动时的灵活性和可扩展性。理解这些机制不仅有助于开发者更好地使用 Spring Boot 进行应用开发,还能够在面对问题时,迅速定位和解决问题。希望本文能为您在 Spring Boot 开发过程中提供有效的指导和帮助。
46 12
|
18天前
|
编写SpringBoot的自定义starter包
通过本文的介绍,我们详细讲解了如何创建一个Spring Boot自定义Starter包,包括自动配置类、配置属性类、`spring.factories`文件的创建和配置。通过自定义Starter,可以有效地复用公共配置和组件,提高开发效率。希望本文能帮助您更好地理解和应用Spring Boot自定义Starter,在实际项目中灵活使用这一强大的功能。
44 17
SpringBoot自动配置及自定义Starter
Java程序员依赖Spring框架简化开发,但复杂的配置文件增加了负担。SpringBoot以“约定大于配置”理念简化了这一过程,通过引入各种Starter并加载默认配置,几乎做到开箱即用。
129 10
SpringBoot自动配置及自定义Starter
SpringBoot配置跨模块扫描问题解决方案
在分布式项目中,使用Maven进行多模块开发时,某些模块(如xxx-common)没有启动类。如何将这些模块中的类注册为Spring管理的Bean对象?本文通过案例分析,介绍了两种解决方案:常规方案是通过`@SpringBootApplication(scanBasePackages)`指定扫描路径;推荐方案是保持各模块包结构一致(如com.xxx),利用SpringBoot默认扫描规则自动识别其他模块中的组件,简化配置。
SpringBoot配置跨模块扫描问题解决方案
Spring Boot 自动配置机制:从原理到自定义
Spring Boot 的自动配置机制通过 `spring.factories` 文件和 `@EnableAutoConfiguration` 注解,根据类路径中的依赖和条件注解自动配置所需的 Bean,大大简化了开发过程。本文深入探讨了自动配置的原理、条件化配置、自定义自动配置以及实际应用案例,帮助开发者更好地理解和利用这一强大特性。
197 14
SpringBoot自定义banner,配置端口号和项目路径(二)下
SpringBoot自定义banner,配置端口号和项目路径(二)
233 0
SpringBoot自定义banner,配置端口号和项目路径(二)下
SpringBoot自定义banner,配置端口号和项目路径(二)上
SpringBoot自定义banner,配置端口号和项目路径(二)
368 0
SpringBoot自定义banner,配置端口号和项目路径(二)上
SpringBoot自定义banner,配置端口号和项目路径(二)
本文主要讲解点:1. 自定义banner2. 配置Tomcat服务器的端口号和路径3. 配置jetty服务器4. 配置文件的优化级
413 0
SpringBoot自定义banner,配置端口号和项目路径(二)
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等