转自

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>&nbsp;</p>
<h2 id="_label_h21">&nbsp;  项目结构<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>&nbsp;</p>
<h2 id="_label_h22">&nbsp;  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>// ."" '&lt; `.___\_&lt;|&gt;_/___.' &gt;'"". // <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>&nbsp;</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>&nbsp;</p>
<h2 id="_label_h23">  效果&nbsp;<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>&nbsp;</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>&nbsp;  方法2,Edit Configurations --&gt; 勾选Hide banner</p>
<p><img src="https://img2018.cnblogs.com/blog/1353055/201811/1353055-20181108102452583-1276364041.png" alt="" class="medium-zoom-image"></p>
<p>&nbsp;</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的更多相关文章

  1. spring boot中控制台打印sql日志

    .properties文件 logging.level.com.example.demo.dao=debug .yml文件 # 打印sql logging: level: com.example.de ...

  2. 【spring boot】【mybatis】spring boot中mybatis打印sql语句

    spring boot中mybatis打印sql语句,怎么打印出来?[参考:https://www.cnblogs.com/sxdcgaq8080/p/9100178.html] 在applicati ...

  3. .NET CORE与Spring Boot编写控制台程序应有的优雅姿势

    本文分别说明.NET CORE与Spring Boot 编写控制台程序应有的“正确”方法,以便.NET程序员.JAVA程序员可以相互学习与加深了解,注意本文只介绍用法,不会刻意强调哪种语言或哪种框架写 ...

  4. spring boot mybatis sql打印到控制台

    如何设置spring boot集成 mybatis 然后sql语句打印到控制台,方便调试: 设置方法: 在application.properties文件中添加: logging.level.com. ...

  5. Spring Boot 设置启动时banner

    Spring Boot项目再启动的时候默认会在控制台输出一个字符banner图案,如下图: 我们可以通过下面的方法关闭启动时显示字符banner图案: 关闭banner方法一: public stat ...

  6. Spring Boot 中如何定制 Banner

    本人免费整理了Java高级资料,涵盖了Java.Redis.MongoDB.MySQL.Zookeeper.Spring Cloud.Dubbo高并发分布式等教程,一共30G,需要自己领取.传送门:h ...

  7. spring boot在控制台输出彩色日志

    阅读org.springframework.boot.context.config.AnsiOutputApplicationListener 源码发现,通过向JVM传递参数,可以在控制台打印彩色日志 ...

  8. spring boot 源码之banner

    Banner 使用Spring Boot启动的jar包总是会显示一个Spring的图标.实际我们是可以自定义这个图标.Banner接口定义了打印banner的方法. void printBanner( ...

  9. Spring boot使用log4j打印日志

    先将maven中spring-boot-starter的日志spring-boot-starter-logging去掉 <dependency> <groupId>org.sp ...

随机推荐

  1. Hive进行数据统计时报错:org.apache.hadoop.mapreduce.v2.app.MRAppMaster: Error starting MRAppMaster

    报错详情: 2020-04-09 22:56:58,827 ERROR [Listener at 0.0.0.0/45871] org.apache.hadoop.mapreduce.v2.app.M ...

  2. Restful-API和传统API的对比

    阮一峰 RestFul-API 详解链接:  http://www.ruanyifeng.com/blog/2014/05/restful_api.html 举例,传统api设计: 举例,RestFu ...

  3. parseFloat的取值

    <script type="text/javascript"> document.write(parseFloat("10")) document. ...

  4. Java基础之浅谈异常与了解断言

    一.产生错误原因 用户输入错误 设备错误 物理限制 代码错误 二.解决错误---异常 在Java中异常对象都是派生于Throwable类的一个实例. 我们一般将异常分为两种:①Error和②Excep ...

  5. mpvue下拉刷新

    1 开启下拉刷新 在想要下拉刷新的页面的 main.json 里,添加: { "navigationBarTitleText": "页面标题", "e ...

  6. window.history.go(-1);后退不刷新问题 移动端

    在后退的界面上添加 判断是否是返回window.addEventListener('pageshow', function (e) {    if(e.persisted || (window.per ...

  7. /dev/dm-0 ....(/dev/mapper机制)

    查看/dev下时候,会看到dm-xx的设备,那么这些设备到底是什么设备呢, Device Mapper 是 Linux 2.6 内核中提供的一种从逻辑设备到物理设备的映射框架机制, 在该机制下,用户可 ...

  8. Python 一网打尽<排序算法>之先从玩转冒泡排序开始

    1. 前言 所谓排序,就是把一个数据群体按个体数据的特征按从大到小或从小到大的顺序存放. 排序在应用开发中很常见,如对商品按价格.人气.购买数量--显示. 初学编程者,刚开始接触的第一个稍微有点难理解 ...

  9. 使用etcd选举sdk实践master/slave故障转移

    本次将记录[利用etcd选主sdk实践master/slave高可用], 并利用etcdctl原生脚本验证选主sdk的工作原理. master/slave高可用集群 本文目标 在异地多机房部署节点,s ...

  10. SerialPort-4.0.+ 使用说明(Java版本)

    SerialPort-4.0.+ 项目官网 Kotlin版本使用说明 介绍 SerialPort 是一个开源的对 Android 蓝牙串口通信的轻量封装库,轻松解决了构建自己的串口调试APP的复杂程度 ...