spring boot 在控制台打印banner
转自
SpringBoot系列——花里胡哨的banner.txt - huanzi-qch - 博客园 (cnblogs.com)
<div id="cnblogs_post_body" class="blogpost-body blogpost-body-html">
<h2 id="_label_h20"> 前言<button class="cnblogs-toc-button" title="显示目录导航" aria-expanded="false"></button></h2>
<p> 我们注意到springboot项目启动时,控制台会打印自带的banner,然后对于部分IT骚年来说,太单调太普通太一般了;所以,是时候表演真正的技术了</p>
<p> </p>
<h2 id="_label_h21"> 项目结构<button class="cnblogs-toc-button" title="显示目录导航" aria-expanded="false"></button></h2>
<p> 我们只需要在springboot项目的resources文件夹下面创建一个banner.txt文件,springboot启动的时候会去加载这个文件,项目结构:</p>
<p><img src="https://img2018.cnblogs.com/blog/1353055/201811/1353055-20181106172258270-1259442361.png" alt="" class="medium-zoom-image"></p>
<p> </p>
<h2 id="_label_h22"> banner.txt<button class="cnblogs-toc-button" title="显示目录导航" aria-expanded="false"></button></h2>
<p> 这里有几个定制banner的网站,文字、图片都可以秀起来,怎么秀就看你的骚操作了</p>
<p> <a href="http://patorjk.com/software/taag" target="_blank" rel="noopener">http://patorjk.com/software/taag</a></p>
<p> <a href="http://www.network-science.de/ascii/" target="_blank" rel="noopener">http://www.network-science.de/ascii/</a></p>
<p> <a href="http://www.degraeve.com/img2txt.php" target="_blank" rel="noopener">http://www.degraeve.com/img2txt.php</a></p>
<p> </p>
<p> banner.txt的内容:</p>
<pre>${AnsiColor.BRIGHT_YELLOW} <br>//////////////////////////////////////////////////////////////////// <br>// _ooOoo_ // <br>// o8888888o // <br>// 88" . "88 // <br>// (| ^_^ |) // <br>// O\ = /O // <br>// ____/`---'\____ // <br>// .' \\| |// `. // <br>// / \\||| : |||// \ // <br>// / _||||| -:- |||||- \ // <br>// | | \\\ - /// | | // <br>// | \_| ''\---/'' | | // <br>// \ .-\__ `-` ___/-. / // <br>// ___`. .' /--.--\ `. . ___ // <br>// ."" '< `.___\_<|>_/___.' >'"". // <br>// | | : `- \`.;`\ _ /`;.`/ - ` : | | // <br>// \ \ `-. \_ __\ /__ _/ .-` / / // <br>// ========`-.____`-.___\_____/___.-`____.-'======== // <br>// `=---=' // <br>// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // <br>// 佛祖保佑 永不宕机 永无BUG //<br>//////////////////////////////////////////////////////////////////// </pre>
<p><img src="https://img2018.cnblogs.com/blog/1353055/201811/1353055-20181106172554326-79639619.png" alt="" class="medium-zoom-image"></p>
<p> banner.txt配置</p>
<p><code> ${AnsiColor.BRIGHT_RED}</code>:设置控制台中输出内容的颜色</p>
<p><code> ${application.version}</code>:用来获取<code>MANIFEST.MF</code>文件中的版本号</p>
<p><code> ${application.formatted-version}</code>:格式化后的<code>${application.version}</code>版本信息</p>
<p><code> ${spring-boot.version}</code>:Spring Boot的版本号</p>
<p> <code>${spring-boot.formatted-version}</code>:格式化后的<code>${spring-boot.version}</code>版本信息</p>
<p> </p>
<p> spring对banner的配置,来自springboot参考手册,Common application properties:<a href="https://docs.spring.io/spring-boot/docs/2.1.0.RELEASE/reference/htmlsingle/#common-application-properties" target="_blank" rel="noopener">https://docs.spring.io/spring-boot/docs/2.1.0.RELEASE/reference/htmlsingle/#common-application-properties</a></p>
<div class="cnblogs_code"><div class="cnblogs_code_toolbar"><span class="cnblogs_code_copy"><a href="javascript:void(0);" onclick="copyCnblogsCode(this)" title="复制代码"><img src="//common.cnblogs.com/images/copycode.gif" alt="复制代码"></a></span></div>
<pre><span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)"> BANNER</span>
spring.banner.charset=UTF-<span style="color: rgba(128, 0, 0, 1)">8</span> <span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)"> Banner file encoding.</span>
spring.banner.location=classpath:banner.txt <span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)"> Banner text resource location.</span>
spring.banner.image.location=classpath:banner.gif <span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)"> Banner image file location (jpg or png can also be used).</span>
spring.banner.image.width=<span style="color: rgba(128, 0, 0, 1)">76</span> <span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)"> Width of the banner image in chars.</span>
spring.banner.image.height= <span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)"> Height of the banner image in chars (default based on image height).</span>
spring.banner.image.margin=<span style="color: rgba(128, 0, 0, 1)">2</span> <span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)"> Left hand image margin in chars.</span>
spring.banner.image.invert=false <span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)"> Whether images should be inverted for dark terminal themes.</span></pre>
<div class="cnblogs_code_toolbar"><span class="cnblogs_code_copy"><a href="javascript:void(0);" onclick="copyCnblogsCode(this)" title="复制代码"><img src="//common.cnblogs.com/images/copycode.gif" alt="复制代码"></a></span></div></div>
<p> </p>
<h2 id="_label_h23"> 效果 <button class="cnblogs-toc-button" title="显示目录导航" aria-expanded="false"></button></h2>
<p><img src="https://img2018.cnblogs.com/blog/1353055/201811/1353055-20181106172731074-2137398188.png" alt="" class="medium-zoom-image"></p>
<p> </p>
<h2 id="_label_h24"> 结束语<button class="cnblogs-toc-button" title="显示目录导航" aria-expanded="false"></button></h2>
<p> 秀儿,是你吗?</p>
<p> banner默认开启,如果不想让它打印怎么办?</p>
<p> 方法1,在main的run方法设置</p>
<div class="cnblogs_code"><div class="cnblogs_code_toolbar"><span class="cnblogs_code_copy"><a href="javascript:void(0);" onclick="copyCnblogsCode(this)" title="复制代码"><img src="//common.cnblogs.com/images/copycode.gif" alt="复制代码"></a></span></div>
<pre><span style="color: rgba(0, 128, 0, 1)">/**</span><span style="color: rgba(0, 128, 0, 1)">
* 启动主类,springboot的入口
* springboot 默认扫描的类是在启动类的当前包和下级包
</span><span style="color: rgba(0, 128, 0, 1)">*/</span><span style="color: rgba(0, 0, 0, 1)">
@SpringBootApplication
</span><span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">class</span><span style="color: rgba(0, 0, 0, 1)"> SpringbootWebsocketSpringdataJpaApplication {
</span><span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">static</span> <span style="color: rgba(0, 0, 255, 1)">void</span><span style="color: rgba(0, 0, 0, 1)"> main(String[] args) {
SpringApplication springApplication </span>= <span style="color: rgba(0, 0, 255, 1)">new</span> SpringApplication(SpringbootWebsocketSpringdataJpaApplication.<span style="color: rgba(0, 0, 255, 1)">class</span><span style="color: rgba(0, 0, 0, 1)">);
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">Banner.Mode.OFF 关闭</span>
<span style="color: rgba(0, 0, 0, 1)"> springApplication.setBannerMode(Banner.Mode.OFF);
springApplication.run(args);
}
}</span></pre>
<div class="cnblogs_code_toolbar"><span class="cnblogs_code_copy"><a href="javascript:void(0);" onclick="copyCnblogsCode(this)" title="复制代码"><img src="//common.cnblogs.com/images/copycode.gif" alt="复制代码"></a></span></div></div>
<p> 方法2,Edit Configurations --> 勾选Hide banner</p>
<p><img src="https://img2018.cnblogs.com/blog/1353055/201811/1353055-20181108102452583-1276364041.png" alt="" class="medium-zoom-image"></p>
<p> </p>
<h2 id="_label_h25"> 代码开源<button class="cnblogs-toc-button" title="显示目录导航" aria-expanded="false"></button></h2>
<p> 代码已经开源、托管到我的GitHub、码云:</p>
<p> GitHub:<a href="https://github.com/huanzi-qch/springBoot" rel="noopener">https://github.com/huanzi-qch/springBoot</a></p>
<p> 码云:<a href="https://gitee.com/huanzi-qch/springBoot" rel="noopener">https://gitee.com/huanzi-qch/springBoot</a></p>
</div>
spring boot 在控制台打印banner的更多相关文章
- spring boot中控制台打印sql日志
.properties文件 logging.level.com.example.demo.dao=debug .yml文件 # 打印sql logging: level: com.example.de ...
- 【spring boot】【mybatis】spring boot中mybatis打印sql语句
spring boot中mybatis打印sql语句,怎么打印出来?[参考:https://www.cnblogs.com/sxdcgaq8080/p/9100178.html] 在applicati ...
- .NET CORE与Spring Boot编写控制台程序应有的优雅姿势
本文分别说明.NET CORE与Spring Boot 编写控制台程序应有的“正确”方法,以便.NET程序员.JAVA程序员可以相互学习与加深了解,注意本文只介绍用法,不会刻意强调哪种语言或哪种框架写 ...
- spring boot mybatis sql打印到控制台
如何设置spring boot集成 mybatis 然后sql语句打印到控制台,方便调试: 设置方法: 在application.properties文件中添加: logging.level.com. ...
- Spring Boot 设置启动时banner
Spring Boot项目再启动的时候默认会在控制台输出一个字符banner图案,如下图: 我们可以通过下面的方法关闭启动时显示字符banner图案: 关闭banner方法一: public stat ...
- Spring Boot 中如何定制 Banner
本人免费整理了Java高级资料,涵盖了Java.Redis.MongoDB.MySQL.Zookeeper.Spring Cloud.Dubbo高并发分布式等教程,一共30G,需要自己领取.传送门:h ...
- spring boot在控制台输出彩色日志
阅读org.springframework.boot.context.config.AnsiOutputApplicationListener 源码发现,通过向JVM传递参数,可以在控制台打印彩色日志 ...
- spring boot 源码之banner
Banner 使用Spring Boot启动的jar包总是会显示一个Spring的图标.实际我们是可以自定义这个图标.Banner接口定义了打印banner的方法. void printBanner( ...
- Spring boot使用log4j打印日志
先将maven中spring-boot-starter的日志spring-boot-starter-logging去掉 <dependency> <groupId>org.sp ...
随机推荐
- 安卓性能优化之计算apk启动时间
之前有人在知乎提问:"怎么计算apk的启动时间?" : 利用Python或者直接用adb命令怎么计算apk的启动时间呢?就是计算从点击图标到apk完全启动所花费的时间.比如,对游戏 ...
- 手写封装防抖debounce
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- 在vue中实现点击哪个哪个区域变化背景色和字体颜色,其他默认(uni-app框架中也可以使用)
template: 1 <view class="wrap"> 2 <view class="total" :class="{ se ...
- 如何基于 ZEGO SDK 实现 Flutter 一对一音视频聊天应用?
之前的文章发布了ZEGO SDK实现Android端音视频通话应用的开发教程,不少开发者反馈很实用,能不能也出一版Flutter的教程. 有求必应,这不小编来了- 我们封装了ZEGO Flutter ...
- Vue UI 可视化项目管理界面
除了直接使用npm的命令进行安装脚手架的安装以外,我们还可以使用Vue提供的GUI方法vue ui来进行项目的构建以及安装 win+R powershell 打开终端 在一个干净的目录下输入命令 vu ...
- MySQL的安装详细教程
一.下载MySQL数据库并创建初始化文件 1.下载MySql数据压缩包-----下载网址:https://dev.mysql.com/downloads/mysql/ 2.选择兆数最少的那个下载 3. ...
- fs本地文件系统
node 中有一个内置模块,fs全称flie system 文件系统,可以对本地文件执行增删改查操作(以下为异步相关API) 先引入内置模块 var fs=require('fs') 1,增: w ...
- ArcGIS使用技巧(七)——批量导出
新手,若有错误还请指正! 在ArcGIS中如何将栅格数据批量导出?用到"复制栅格这个工具",这里我用的例子是:将ArcGIS默认输出的DEM文件夹批量导出为tif格式.(如果是文件 ...
- Hyperledger Fabric 部署在多个主机上
前言 在实验Hyperledger Fabric无排序组织以Raft协议启动多个Orderer服务.TLS组织运行维护Orderer服务中,我们已经完成了使用提供 TLS-CA 服务的 council ...
- RecyclerView + SQLite 简易备忘录-----中(1)
在上一节讲完了登录界面的内容,现在随着Activity的跳转,来到MainActivity. 1.主界面activity_main.xml 由上图,activity_main.xml的内容很简单. 首 ...