Spring Boot——控制台LOGO自定义配置管理解决方案
启动/关闭
设置banner mode为OFF关闭banner:
import org.springframework.boot.Banner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class SpringBootStudy002Application {public static void main(String[] args) {SpringApplication springApplication = new SpringApplication(SpringBootStudy002Application.class);
/*
* Banner.Mode.OFF:关闭;
* Banner.Mode.CONSOLE:控制台输出,默认方式;
* Banner.Mode.LOG:日志输出方式;
*/springApplication.setBannerMode(Banner.Mode.OFF);springApplication.run(args);}
}
自定义LOGO
自定义banner只需要在resource下新建一个banner.txt文件,将我们需要的banner字样放进去,启动的时候就会去读取使用这个文本文件中的banner。
控制banner样式
Spring提供了三个枚举类来设定字符的颜色,分别是:
AnsiColor: 用来设定字符的前景色
AnsiBackground: 用来设定字符的背景色
AnsiStyle: 用来控制加粗、斜体、下划线等等。
使用${AnsiFoo.Bar}来指定样式,当指定样式的时候会有提示的。
且可以给每部分写具体的样式:指定了颜色之后直到下次指定之前的字符都是FooColor颜色的。
与应用相关的版本信息:
${application.version} 与MANIFEST.MF文件中相同的版本号,比如1.5.4.RELEASE
${application.formatted-version} 格式化过的版本号就是加个v然后用括号包起来,比如(v1.5.4.RELEASE)
${application.title}
${spring-boot.version} Spring Boot的版本
${spring-boot.formatted-version} 格式化过的版本
注:可以在配置文件中自定义。
application.version=dalaoyang_v1
在banner中加入${application.version}使用,启动如图
字符画生成网站
http://www.network-science.de/ascii/
http://patorjk.com/software/taag/
http://www.degraeve.com/img2txt.php
DEMO
${AnsiColor.RED}88${AnsiColor.BLUE}""8b db d8 8b, ,d8 88,dPYba,,adPYba, 88 8b,dPPYba, ,adPPYb,d8${AnsiColor.BRIGHT_YELLOW}
`8b d88b d8' `Y8, ,8P' 88P' "88" "8a 88 88P' `"8a a8" `Y88`8b d8'`8b d8' )888( 88 88 88 88 88 88 8b 88`8bd8' `8bd8' ,d8" "8b, 88 88 88 88 88 88 "8a, ,d88YP YP 8P' `Y8 88 88 88 88 88 88 `"YbbdP"Y8aa, ,88"Y8bbdP"${AnsiColor.BRIGHT_BLUE}:: Running Spring Boot ${spring-boot.version} ::
效果
自定义图片LOGO
LOGO或者产品的LOGO 图片设置为启动的 banner 。当然不是把图片显示在命令行中,而是解析图片的像素,然后同 ansii 的方式给输出到命令行中。
图片的 banner 支持 gif 、png、jpeg 格式的图片。使用的时候,选用合适的图片,然后将图片名字改成 banner,然后和文字的 banner.txt 文件一样,放到 resource ,目录下即可。
例如,我们将一个如下的 jpeg 格式的微博 logo 改名为 banner.jpg 文件放到 resource 目录下
效果
自定义GIF动画LOGO
打开网址:https://giphy.com/ 搜索 ascii
点击任意gif进行下载
然后将下载下来的 .gif文件复制到resources/目录下改名名为banner.gif即可
注意,如此操作在IDE中无法实现动图动态展示,我们需要在命令行中启动项目,两种方式都可以:
1.切换到项目目录中 mvn springboot:run
2.切换到项目目录中 mvn install
切换到 target目录 java -jar 打包好的项目
实现Banner接口
Spring Boot提供了一个接口org.springframework.boot.Banner,其实例可以被传给SpringApplication的setBanner(banner)方法。如果你闲得不行非要着重美化这个命令行输出的话,可以重写Banner接口的printBanner方法。
注意事项
1、如果在 classpath 中既有 banner.txt 文件,又有 banner 的图片文件,Spring Boot 会先显示图片 banner ,然后再显示文本的 banner。
参考文章
https://blog.csdn.net/itwxming/article/details/89469451
https://blog.csdn.net/chenhao_c_h/article/details/79966976
https://www.cnblogs.com/andrew-303/p/11938130.html
https://blog.csdn.net/StemQ/article/details/53899690
https://www.jianshu.com/p/b3b170074748
https://www.jianshu.com/p/05683e8e09ef
https://www.iteye.com/blog/somefuture-2247401
Spring Boot——控制台LOGO自定义配置管理解决方案相关推荐
- Spring Boot 启动 Logo 修改 字符图案 只支持ASCII字符
Spring Boot 启动 Logo 修改 字符图案 只支持ASCII字符 参考网址:http://patorjk.com/software/taag gitee的pages:https://win ...
- 关于Spring Boot 2.x 自定义ErrorAttributes 不起作用的问题解决
2019独角兽企业重金招聘Python工程师标准>>> 关于Spring Boot 2.x 自定义 ErrorAttributes 不起作用的问题解决 简介 Spring Boot ...
- spring boot整合SpringSecurity-03 自定义报错信息
spring boot整合SpringSecurity 目录 spring boot整合SpringSecurity-01入门 spring boot整合SpringSecurity-02 基于Ser ...
- Spring Boot 的logo设置(八)
Spring Boot 工程启动时会显示一个logo, 我们可以对显示的logo进行相关的设置. 关闭启动logo 想关闭logo可以使用以下两种方法: 在 Spring Boot 的启动类中关闭 i ...
- Idea创建Spring Boot项目超时失败的解决方案及Maven改SpringBoot
前言 说起IntelliJ IDEA 可谓是作为一名开发者必须知道的神器了,便捷高效,但不知道是升级了新的Idea软件,还是网络不通畅缘故,笔者这两天老遇到一个创建超时的问题. 用 IDEA 创建 S ...
- Spring boot控制台运行
控制台运行 Spring boot项目打包之后 可以拷贝到指定目录 然后,启动dos窗口,使用命令运行 也可以在idea的控制台 使用命令,直接运行 打包项目 Terminal,控制台 切换到targ ...
- Docker——IDEA部署Spring Boot项目到远程Docker解决方案
环境配置 IntelliJ IDEA 2021.3 CentOS 7 Docker 20.10.3 解决方案 安装Docker 官方文档:https://docs.docker.com/engine/ ...
- Spring Boot Actuator:自定义端点,其顶部具有MVC层
Spring Boot Actuator端点允许您监视应用程序并与之交互. Spring Boot包含许多内置端点,您也可以添加自己的端点. 添加自定义端点就像创建一个从org.springframe ...
- Spring Boot整合Redis——自定义RedisSerializer
引言 spring boot简单引入redis依赖,并使用RedisTemplate进行对象存储时,需要使存储对象实现Serializable接口,这样才能够成功将对象进行序列化. RedisTemp ...
最新文章
- Red5安装与入门 与FMS配置
- 三国时期,假如曹操是一名程序员,历史会发生什么?--文末送书
- Classifier4J的中文支持
- SpringMVC 理论与有用技术(一) 简单、有用、易懂的几个实例
- 适用于树莓派Raspberry Pi的嵌入式QT平台(二) -- 在Windows下用Qt Creator开发编译Raspberry Qt 5应用程序...
- Struts2返回JSON数据的具体应用范例
- 基于stm32的智能风扇设计
- Mysql开发实践:error while loading shared libraries: libaio解决方案
- COMSOL流体操作
- 设计模式二十四讲之《状态模式》
- 做了十年硬件工程师,如今却失业了
- 搞懂:1.数据流图UML2.单代号网络图绘制3.双代号网络图绘制、工作计算法、关键路径法(含例题)
- 远程重启h3c路由器_H3C路由器简单命令
- CPU 工作原理(附详细图解)
- 10.24程序员日,开源社给大家送上大礼!【抢票贴】#疯狂倒计时24小时,10月24-25日I WANT YOU!#...
- ChucK初步(2)
- jacob离线语音合成和百度AI在线语音合成
- c语言中的fock方法输出hello,(1.1.20)C程序之Fock()函数
- ovo svm_反思我在OVO担任远程产品设计实习生的时间
- jQuery无刷新上传学习心得
热门文章
- 翻译:Intel CPU架构的历史
- 服务器启动文件,[Zookeeper] 服务端之单机版服务器启动
- 计算机组成原理 第四版 总线的主模块 总线的从模块,唐朔飞计算机组成原理课件3.ppt...
- android调用另一app的xml,Android 7.0+调用其他App打开文件
- 运用计算机辅助电话调查的方法,第二章 统计数据的搜集、整理与显示
- html请求接口_python接口自动化测试 - 2.Django开发接口
- android camera 实时滤镜,【Camera】Android平台Camera实时滤镜实现方法
- Java Store_java之Properties集合中的方法store
- 【数据分析实例】6000 条倒闭企业数据分析
- 六十、深入理解Vue组件,使用组件的三个细节点