今天来搞点有趣的事情(恶趣味你直说),一个没有脑洞的程序员和咸鱼有什么区别,各种程序里面的彩蛋就是最好的例证,写完业务代码之余,娱乐一下自己,还是蛮有趣的。 今天我来搞得事就是给
Spring Boot
程序换个Banner
,让人一眼就看出,嗯这个程序是你写,那多酷~~啊。
先晒一下我的Banner
原先的Spring Boot的Banner是长这样的
这一点也不独特,一点也不极客! 不开心呢! 我要搞事情!
所以这是怎么做到的呢
其实没有那么多的套路,异常的简单,Spring Boot的开发者已经给你准备好了各种方便的接口
1、第一步
在main/resources
目录下创建一个banner.txt
2、第二步
在banner.txt
里头开始填你要显示的banner,我们先来试试Hello World!
运行一下下
看!Banner已经被替换掉了!
如果这样就满足了的话,就不是一个充满脑洞优秀的程序员了。 我们继续!
3、第三步
你或许会问了,我的Banner里头颜色是怎么弄的 在Spring的Wiki里面介绍了在banner中可以用到的一些变量,链接
变量 | 描述 |
---|---|
${application.title} |
程序的名称,来源是MANIFEST.MF 中的Implementation-Title 的值 |
${application.version} |
当前程序的版本,来源是MANIFEST.MF 中的Implementation-Version 的值 |
${application.formatted-version} |
格式化后的程序版本,(Ex. (v1.0) ) |
${spring-boot.version} |
SpringBoot的版本,(Ex. 1.4.3.Release ) |
${spring-boot.formatted-version} |
格式化后的SpringBoot版本,(Ex. (v1.4.5.Release) ) |
${Ansi.NAME} (or ${AnsiColor.NAME} , ${AnsiBackground.NAME} , ${AnsiStyle.NAME} ) |
ANSI编码的参数,NAME 为ANSI中的别名 |
注意:所有Ansi
开头的命令作用域是整个banner。
4、ANSI颜色参考
5、文字生成
单纯的一个Hello World!
还是不够酷!我们来生成一个由标点组成的文字,用上现成的
Text to ASCII Art Generator
生成好之后直接在下面的框框里面全选(Win:Ctrl+A
;Mac:Command+A
)复制到banner即可
6、如果你嫌烦的话
可爱的Banner固然好看,但是可能会影响日志分析系统的工作,所以如果我们要去掉Banner的话只需要修改我们的Application.java
就可以了,修改后的main
方法如下:
public static void main(String[] args) {
SpringApplication app = new SpringApplication(MySpringConfiguration.class);
app.setBannerMode(Banner.Mode.OFF);
app.run(args);
}
总结
折腾!
其实…………还是蛮好玩的是吧哈哈!!
最后奉上我的banner.txt
${AnsiColor.BRIGHT_YELLOW}
////////////////////////////////////////////////////////////////////
// _ooOoo_ //
// o8888888o //
// 88" . "88 //
// (| ^_^ |) //
// O\ = /O //
// ____/`---'\____ //
// .' \\| |// `. //
// / \\||| : |||// \ //
// / _||||| -:- |||||- \ //
// | | \\\ - /// | | //
// | \_| ''\---/'' | | //
// \ .-\__ `-` ___/-. / //
// ___`. .' /--.--\ `. . ___ //
// ."" '< `.___\_<|>_/___.' >'"". //
// | | : `- \`.;`\ _ /`;.`/ - ` : | | //
// \ \ `-. \_ __\ /__ _/ .-` / / //
// ========`-.____`-.___\_____/___.-`____.-'======== //
// `=---=' //
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ //
// 佛祖保佑 永不宕机 永无BUG //
////////////////////////////////////////////////////////////////////
${AnsiColor.BRIGHT_BLUE}
_____ _____ _ _ _______ _
/ ____| | __ \ | | | | |__ __| | |
| | ___ ___| |__) |__ | |_ __ _| |_ ___ | | ___ ___| |__
| | / _ \/ __| ___/ _ \| __/ _` | __/ _ \ | |/ _ \/ __| '_ \
| |___| (_) \__ \ | | (_) | || (_| | || (_) | | | __/ (__| | | |
\_____\___/|___/_| \___/ \__\__,_|\__\___/ |_|\___|\___|_| |_|
${AnsiColor.BRIGHT_RED}
With SpringBoot${spring-boot.formatted-version}