spring boot 更改或关闭logo,自定义banner图标及网址
关闭springboot的日志logo
@SpringBootApplication
public class Application {
public static void main(String[] args) {
// 启动Springboot,启动Spring容器
SpringApplication springApplication = new SpringApplication(Application.class);
springApplication.setBannerMode(Banner.Mode.OFF);
springApplication.run(args);
}
}
1、Banner效果展示
Spring Boot 默认的 banner 图展示效果如下:
我们可以把它变成这样的以及其他样式:
不但能自定义内容,还能自定义颜色。
1.1 通过txt文件实现
我们可以在 Spring Boot 工程的 /src/main/resources 目录下创建一个 banner.txt 文件,然后将 ASCII 字符画复制进去,就能替换默认的 banner 了,如下图所示:
当然你也可以使用图片的方式来自定义 banner。
我们可以使用 banner.gif 来实现动态 banner 的效果,动手试试吧。此种方式实现起来比较简单,且是无代码侵入式的,推荐使用这种方式。
2、Banner样式控制
上面讲了 banner 文字部分的修改,我们还可以修改 banner 的演示以及其他属性,例如字体的样式,粗体、斜体等,Spring Boot 为提供了三个枚举类来设定这些样式,他们分别是:
- AnsiColor:用来设定字符的前景色;
- AnsiBackground:用来设定字符的背景色。
- AnsiStyle:用来控制加粗、斜体、下划线等等。
例如,我们可以使用 AnsiColor 来设置颜色,banner.txt 中的信息如下:
${AnsiColor.BRIGHT_RED} _ _ _ _ ${AnsiColor.BRIGHT_RED} | || | ___ | | | | ___ ${AnsiColor.BRIGHT_YELLOW} | __ | / -_) | | | | / _ \ ${AnsiColor.BRIGHT_YELLOW} |_||_| \___| _|_|_ _|_|_ \___/ ${AnsiColor.BRIGHT_RED}_|"""""|_|"""""|_|"""""|_|"""""|_|"""""| ${AnsiColor.BRIGHT_RED}"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'
最终的展示效果如下图所示:
3、Banner使用输出变量
在 banner.txt 中我们还可以输出一些全局变量,例如:
- ${application.version}:用来获取 MANIFEST.MF 文件中的版本号;
- application.formatted-version:格式化后的{application.vesion}版本信息;
- ${spring-boot.version}:Spring Boot 版本号;
- application-boot.formatted-version:{spring-boot.version} 版本信息。
使用示例如下:
1 2 3 4 5 6 7 8 9 10 11 12 | /¯¯¯¯\ o-|[][]|-o |_--_| /¯¯¯¯¯¯¯¯¯¯\ ||| «» ||| ||| ||| (o)| |(o) | || | |__||__| |__||__| Spring Boot 版本:${spring-boot.version} |
4、Banner图在线生成
在线生成 banner 的地址:
- https://www.bootschool.net/ascii (推荐,包含上图中各种图案)
- http://www.network-science.de/ascii/
- http://patorjk.com/software/taag/
- http://www.degraeve.com/img2txt.php
分类:
springboot
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端