转自

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. oracle 多列求和

    第一种: select sum(decode(count1,null,0,count1) +decode(count2,null,0,count2) +decode(count3,null,0,cou ...

  2. Python使用递归绘制谢尔宾斯基三角形

    谢尔宾斯基三角形使用了三路递归算法,从一个大三角形开始,通过连接每一个边的中点,将大三角型分为四个三角形,然后忽略中间的三角形,依次对其余三个三角形执行上述操作. 运行效果: 源代码: 1 impor ...

  3. vue里面v-for显示红色波浪线

    vue里面使用v-for代码显示红色的波浪线,解决办法: before: <div v-for="tmsgs in msg.message"></div> ...

  4. FastAPI(六十七)实战开发《在线课程学习系统》接口开发--用户登陆接口开发

    接上一篇文章FastAPI(六十六)实战开发<在线课程学习系统>接口开发--用户注册接口开发.这次我们分享实际开发--用户登陆接口开发. 我们先来梳理下逻辑 1.查询用户是否存在2.校验密 ...

  5. Go xmas2020 学习笔记 05、Arrays, Slices, and Maps

    05-Arrays, Slices, and Maps. In memory. Array. Slice. fence post error. Compare Array and Slice . Ma ...

  6. Python Windows 快捷键自动给剪贴板(复制)图片添加水印

    编写一个能在windows上使用的按下快捷键自动给剪贴板(复制)的图片添加水印的小工具.plyer.PIL.pyinstaller.pynput.win32clipboard库.记录自己踩过的坑,部分 ...

  7. Codeforces Round #133 (Div. 2), A.【据图推公式】 B.【思维+简单dfs】

    Problem - 216A - Codeforces Problem - B - Codeforces A Tiling with Hexagons 题意: 给出a b c ,求里面有多少个六边形 ...

  8. 生成二维码,并且保存,指定位置的view成图片,并且保存到本地相册

    效果图: 保存的图片效果是: 保存到本地的,是整个视图,不只是单单的二维码的图片, 在了解的一番过程之后,我知道了, 1.首先要去获取保存图片的写入权限:(使用 https://github.com/ ...

  9. 字符串/16进制/ASCII码的转换

    1 /// <字符串转16进制格式,不够自动前面补零> 2 /// 假设文本框里面填写的是:01 02 03 04 05 06 3 /// Str获取的是01 02 03 04 05 06 ...

  10. Java语言学习day18--7月24日

    ###01get和set方法 * A.get和set方法 * 年龄已被私有,错误的值无法赋值,可是正确的值也赋值不了,这样还是不行,那肿么办呢?按照之前所学习的封装的原理,隐藏后,还需要提供访问方式. ...