前言
在前面的几个章节中,壹哥 带大家认识了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
#Banner file encoding.
spring.banner.charset=UTF-8
#Banner text resource location.
spring.banner.location=classpath:banner.txt
#Banner image file location (jpg or png can also be used).
spring.banner.image.location=classpath:banner.gif
#Width of the banner image in chars.
spring.banner.image.width=76
#Height of the banner image in chars (default based on image height).
spring.banner.image.height=
#Left hand image margin in chars
spring.banner.image.margin=2
#Whether images should be inverted for dark terminal themes.
spring.banner.image.invert=false
这些配置信息,主要是对banner图案的宽度、高度,文件位置等属性进行设置,其中#是properties文件中的注释!
7. 关闭Banner
如果我们不想在启动项目的时候展示Banner图,也可以关闭掉,毕竟这东西没啥作用,属于典型的奇技淫巧。
关闭banner图的方式有3种:
以代码方式关闭;
yml文件中关闭;
配置方式关闭。
7.1 代码方式关闭
我们可以在Application入口类中设置Banner的启动模式,默认是开启的,可以关闭掉,代码如下。
@SpringBootApplication
public class BannerApplication {
public static void main(String[] args) {
//SpringApplication.run(BannerApplication.class, args);
SpringApplication application=new SpringApplication(BannerApplication.class);
//设置banner模式,不需要打印banner可以关闭,默认是开启的
application.setBannerMode(Banner.Mode.CONSOLE);
application.run(args);
}
}
通过调用setBannerMode()方法,可以设置将banner打印console,log,或者不输出off,这样就可以控制banner图的显示与关闭。
7.2 yml文件配置
我们也可以在yml文件中,设置banner的模式,在yml文件中,将banner-mode设置为off即可关闭banner图:
spring:
main:
banner-mode: "off"
这种方式也可以关闭或打开banner图。
7.3 配置方式关闭
最后还有一种方式,这种方式就不用每次都写代码了,可以通过在每个项目的Edit Configurations中的spring boot选型里,找到Hide Banner,勾选,就可以关闭了!
这样,我们就掌握了3种开关banner图的方式了。
8. 代码结构
最终的项目代码结构,各位可以参考如下图来进行创建设置。
结语
今天的内容属于SpringBoot中的奇技淫巧,没有什么特别的难度,对我们开发本身来说也没有什么作用,只是可以让我们的编程变得更有意思一点而已。人生路漫漫,为什么不让每一天都多点乐趣呢?
你学会如何设置banner了吗?
*威哥Java学习交流Q群:691533824
加群备注:CSDN