还记得SpringBoot项目启动时会在控制台打印一个默认的启动图案么,就是长下面这样子的图案,这个图案就是我们要讲的banner。我们这篇文章就是要讲对这个图案玩出花样,也算是给自己代码增加点乐趣
如何更改使用
使用banner.txt
SpringBoot2.0可以更改TXT格式的和gif格式的,SpringBoot1.0的时候,是只支持txt格式的,也就是1.0的时候是不能使用动态的Banner,我们先来讲讲txt格式的。其实SpringBoot更改banner特别简单,我们只需要在resources目录下创建一个banner.txt 然后在在里面放进你想要的ASCII内容就可以了,举个例子,首先你在resources目录下创建一个banner.txt ,然后放进如下内容
// _ooOoo_ //
// o8888888o //
// 88" . "88 //
// (| ^_^ |) //
// O\ = /O //
// ____/`---'\____ //
// .' \\| |// `. //
// / \\||| : |||// \ //
// / _||||| -:- |||||- \ //
// | | \\\ - /// | | //
// | \_| ''\---/'' | | //
// \ .-\__ `-` ___/-. / //
// ___`. .' /--.--\ `. . ___ //
// ."" '< `.___\_<|>_/___.' >'"". //
// | | : `- \`.;`\ _ /`;.`/ - ` : | | //
// \ \ `-. \_ __\ /__ _/ .-` / / //
// ========`-.____`-.___\_____/___.-`____.-'======== //
// `=---=' //
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ //
// 佛祖保佑 永不宕机 永无BUG //
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
然后这个时候重启一下项目,就会发现,我们的启动画面变了,是不是很有意思,在文章后面我会把一些有趣的ASCII放出来,以及如何去生成好玩的ASCII。
使用banner.gif
接下来在项目中测试打印动态 Banner ,同样我们将 banner.gif 文件放到项目的resources目录下,启动项目进行测试,gif如下,以及输出栏打印信息如下:
..
.::*
...
..... ....
........ . ...
........ . ..
...... ....
.... ...
. .
..**::**..
.*::::::::::*.
.*::::::::::::*.
.*::::::::::::*.
.*::::::::::::*.
.*::::::::::*.
..**::***.
..
..... ..
..... ...
...... ......
. ... . .....
. .... . .
............................ .............
.................. ......... ................ .
................... ... . ... ............
............. . ... ...............
. ......... ...........
.......... ....... ....
............ ........
........ ........
.... . .........
........ ........
......... ..********.. ......*..
........ .**::::::::::::**. ........
........... .**::::::::::::::::**. .......
...... .*::::::::::::::::::::*. .......
... .. .*::::::::::::::::::::::*. .......
...... .::::::::::::::::::::::::. .......
.......... .::::::::::::::::::::::::. ... ....
......... .*:::::::::::::::::::::::. ....
......... .*::::::::::::::::::::::*. ...
......... .*::::::::::::::::::::*. ....
........ .**::::::::::::::::**. .........
... .... .**::::::::::::**. .........
. ........ .********.. .........
....... . ......*..
......... . .....
....... .........
........ . ............
............ .. ...........
. ............. .........
................ .... ..........
............. .... . ......... . ..... .
.... ...... ......... . .. .... .............. ....
.. ............. ........... ..............
::. .*:*
:. *:* *. .*:*
.:*. *: .*:*. :. .:
:* : :. .::::* :
: : * *****..... *.: :
: : .:* .::::::::::**.. .. : *
: *: .*:::::::::::::::*. * **
o *** ...**::::::::::::::::::**. * :.:
: .* : .....***::::::::::::::::::::::*. : : o
:*. * ..*****:::::::::::::::::::::::::*. * : o
: . .*::::::::::::::::::::::::::::::::*. :: *
:* : *::::::::::::::::::::::::::::::::::* : o
* o * .*::::::::::::::::::::::::::::::::::*. .:o :
: : : .*::::::::::::::::::::::::::::::::::*. : . :
: .. .*::::::::::::::::::::::::::::::::::*. * : *
: : .*::::::::::::::::::::::::::::::::::* : *:
. :* .*o:::::::::::::::::::::::::::::::*. . :
: : * .*::::::::::::::::::::::::::::::*. * :*
o * : .*::::::::::::::::::::::::::::*. : ** :
:* * .*::::::::::::::::::::::::**. *.. *
** * ..*::::::::::::::::::::*.. :* *
* o .. ..**::::::::::::**.. .:. : :
: o.: ...******... *. : :.
: ::o:. *: * *:
:. : .*:*. :* .*::
.:* .* *o: .:
.:*. .*:
...
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.
- 50.
- 51.
- 52.
- 53.
- 54.
- 55.
- 56.
- 57.
- 58.
- 59.
- 60.
- 61.
- 62.
- 63.
- 64.
- 65.
- 66.
- 67.
- 68.
- 69.
- 70.
- 71.
- 72.
- 73.
- 74.
- 75.
- 76.
- 77.
- 78.
- 79.
- 80.
- 81.
- 82.
- 83.
- 84.
- 85.
- 86.
- 87.
- 88.
- 89.
- 90.
- 91.
- 92.
- 93.
- 94.
- 95.
- 96.
- 97.
- 98.
- 99.
- 100.
- 101.
- 102.
- 103.
- 104.
- 105.
- 106.
- 107.
- 108.
- 109.
- 110.
- 111.
- 112.
- 113.
- 114.
- 115.
- 116.
- 117.
- 118.
- 119.
通过上述输出我们发现 Spring Boot 在启动的时候,会将 gif 图片的每一个画面,按照顺序打印在日志中,所有的画面打印完毕后,才会启动 Spring Boot 项目。如果目录resources下同时存在banner.txt和banner.gif,项目会先将banner.gif每一个画面打印完毕之后,再打印banner.txt中的内容。
获取banner
这个ASCII Generator可以把文字生成ASCII,如下
这个 IMG2TXT可以将图片生成ASCII,非常方便,如下
好玩的banner
我这里放一些好玩的banner
::WWWWWWWWWWWWKKWWWWKKDDDDKKDDKKKKWWKKKKKKWWWWii
LL######WWWW##############KKGGKKKKDDDDKKKKWW##WW;;
ttEEWW####KK####KKEEEEWW##WWKK##GGKKDDLLWW##KKDDWWWWKK;;
..jjff####WW##KKLLWW######KKKKDDWWKKKKKKLL####LLDDWW####WW
;;ttLL##WW##KKGGWW######WW##DDDDGG##WWDDWWWWWWDDWW########tt
ffWWWW##EEKKWW############WWGGGGDD##WW##WWWWKKKKWW######KK
LL##########################WWDDDDGG##WWWWKK####KKDD########
GGEE######################KKLLGGKKWWDDWWWWffKK##KKDDKK####WW..
ffWW######################DDEEEEffffffffDDGGGG##EEGGKK######
..########################KKfftt;;,,..,,;;jjffttDDWWDDWWWW##GG
;;WW####################WWffjj;;:: ..,,;;;;,,;;LLWWEEKK##jj
LLEEEEKK####WW##DDffffffii;;,,::........::,,,,,,,,;;EEDDWW##;;
LL##WW##WWWW##WWjj,,,,;;,,,,,,::::......::::::,,::,,,,GGDDWW##..
..GGLL##DDffGGDDDD,,,,,,,,;;tttt,,............::::::,,,,;;DDKKWWWWii
ffjjjj####LL,,,,;;ii;;,,,,,,;;;;,,iittii......::::::::,,,,iiWW##WW##..
..ffKK##WW####jjii;;tt;;,,::..,,jjLLffttjjtt::::::::,,,,,,;;ff######DD
jjKK########KKttjj;;;;,,....;;ttDDDDDDjjtt,,,,,,,,,,,,;;GG######ff
..;;KK########LLjjttii;;,,....::iiii,,ttjjii,,,,,,ttjjLLDD##WW##KKtt
..LL##########ffjjiiii;;,,::......;;tttt,,;;..iiDDWWDDDDff##WW##LL;;
LLKKWWWW####jjjj;;ii;;;;::....::::::..,,,,::jjiiii;;EEWWWWKKDDjj..
..DDWWWWEE##jjtttt;;ii;;;;,,....::......::::,,ii,,ttffttLLDDDDGG,,
DDDDLLEEWWGGtttttt;;;;;;;;,,,,::::::..::::..;;;;,,,,;;;;iiGGLLii
ttGGDDEEWWWW;;iitttt;;;;;;;;,,,,,,,,,,,,,,:: ;;;;,,;;;;ttiiGGff
ttGGWWWW##ff;;;;ttjj;;;;;;,,,,,,,,,,..;;::::..ii,,,,;;ttffGGff,,
LLKK##ff;;;;;;;;jj;;;;,,,,,,,,::::..,,tt::::ii,,;;iiffttttii::
LLGG;;;;,,;;;;jjii;;;;,,,,;;tt::....::ttfftt;;ii,,,,..;;..,,
..ii,,;;,,,,,,;;;;ff;;,,,,,,::,,ffff;;,,;;iittttff ,, ,, ii
::iitt,,,,;;,,,,,,;;;;jjjj;;,,,,,,::tt;;LLLLLLffttWWtt.... ::..,,
,,;;;;;;,,,,,,,,,,::,,,,,,,,;;jjtt;;,,::::,,ttttjjffjjtt##,,.. ,,
..,,,,;;;;;;,,,,,,,,,,,,,,,,,,,,,,,,,,,,;;jjii,,,,::::,,;;jjjj;;DDDD.. ::,,
;;;;;;;;;;,,,,,,,,::::::,,::::::::,,,,,,;;iiffjj,,,,,,,,;;LLEEGGjjGG ,,;;..
,,,,,,,,;;;;;;,,,,::..::,,::..::::::::,,;;;;ttfffftt;;;;GGtt;;jjttii ,,::..
,,::....::,,;;;;;;,,,,,,,,::..::::::::::,,,,;;ffGGKKEEDDLLLLDDffii .. ii..
,,,,::....,,,,,,,,;;;;,,,,,,......::::..::::;;ttLLLLLLffffjjjjjj.. ,, ,, ..
,,::::::..::,,......::,,,,,,,,::::......::::;;;;jjjjjjffffjjttjjjj,,.. ..,,
::::......::::............::::,,,,::::::::,,,,;;iijjffffjjjjjjffjjjjjj,, ::;;
::........::..................::::::,,::::,,,,,,,,,,,,,,,,,,,,jj;;;;;;iitt,,jj
....................................,,::..::,,::,,::::::,,,,,,ii,,,,,,,,,,;;jj,,
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.