如何让你的Spring Boot屌炸天?(二)

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 大家好,我是指北君。今天就只有一个目的,就是要让你屌炸天!

第一种就是在启动代码中设置。如下所示。58.png

第二种是在 application.properties 中配置 spring.main.banner-mode


59.png

这两种方式都可以关闭 Banner,那当它们同时存在的时候,哪个生效呢?我们可以这样分析,启动代码中调用 setBannerMode 方法,改变了 bannerMode 的值,之后 SpringApplication 对象执行 run 方法,在 run 方法中会解析 application.properties 的值,并将其绑定到对应的 bean,后者覆盖前者,所以 application.properties 中的配置优先级更高。


自定义文本类型的 Banner


Spring Boot 中自定义文本类型的 Banner 很简单,我们只要在 resources 下增加一个 banner.txt 就可以了。比如我想让 Banner 显示 永不宕机的佛祖雕像。那我就可以在 banner.txt 中增加以下文本。


60.png


打印结果是这样的61.png

如果我们想打印彩色的 banner 出来呢?在Spring Boot 中我们可以利用 AnsiColor 类来实现,我们可以在 banner.txt 中使用 AnsiColor 指定后续的文本的颜色。


62.png

如下是最终的结果


63.png64.png

我们通过上述代码来看看,Spring Boot 为什么能打印出带颜色的 banner, ResourceBanner 将读取到的文本流转换为一串字符串。再通过4个解析器,来处理待输出的 Banner 内容。

四个解析器分别是:

  • environment 对应 application.properties 中的配置;
  • VersionResolver 解析 spring boot 版本,
  • AnsiResolver 解析颜色或字体等样式配置,
  • TitleResolver 解析当前应用的版本,名称等。


Banner图在线生成


在线生成 banner 的地址:


总结


本文主要讲述了Banner的输出打印过程,如何打印个性化的文本 Banner。ImageBanner 没在本文详细说明,有兴趣的朋友可以查看阅读源码,也比较简单,也有助于你了解 Java 如何实现图片转文本的知识点。通过本文的知识点,你也可以根据自己的要求来实现 Banner, 设置为 fallbackBanner, 从而达到完全个性化的自定义 Banner 的效果。

有任何问题可以在公众号后台留言,指北君会第一时间回复大家。欢迎关注公众号【Java技术指北】,第一时间获取更多精彩内容。

相关文章
|
6月前
|
Java 应用服务中间件 Maven
SpringBoot 项目瘦身指南
SpringBoot 项目瘦身指南
150 0
|
6月前
SpringBoot+Mybatis-Plus+PageHelper分页+多条件查询
SpringBoot+Mybatis-Plus+PageHelper分页+多条件查询
175 0
|
13天前
|
存储 运维 安全
Spring运维之boot项目多环境(yaml 多文件 proerties)及分组管理与开发控制
通过以上措施,可以保证Spring Boot项目的配置管理在专业水准上,并且易于维护和管理,符合搜索引擎收录标准。
25 2
|
1月前
|
SQL JSON Java
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和PageHelper进行分页操作,并且集成Swagger2来生成API文档,同时定义了统一的数据返回格式和请求模块。
56 1
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
|
1月前
|
缓存 NoSQL Java
Springboot自定义注解+aop实现redis自动清除缓存功能
通过上述步骤,我们不仅实现了一个高度灵活的缓存管理机制,还保证了代码的整洁与可维护性。自定义注解与AOP的结合,让缓存清除逻辑与业务逻辑分离,便于未来的扩展和修改。这种设计模式非常适合需要频繁更新缓存的应用场景,大大提高了开发效率和系统的响应速度。
64 2
|
5月前
|
运维 Java 关系型数据库
Spring运维之boot项目bean属性的绑定读取与校验
Spring运维之boot项目bean属性的绑定读取与校验
54 2
|
5月前
|
存储 运维 Java
Spring运维之boot项目开发关键之日志操作以及用文件记录日志
Spring运维之boot项目开发关键之日志操作以及用文件记录日志
66 2
|
5月前
|
Java Maven
springboot项目打jar包后,如何部署到服务器
springboot项目打jar包后,如何部署到服务器
440 1
|
5月前
|
XML 运维 Java
Spring运维之boot项目打包jar和插件运行并且设置启动时临时属性和自定义配置文件
Spring运维之boot项目打包jar和插件运行并且设置启动时临时属性和自定义配置文件
55 1
|
5月前
springboot2.4.5使用pagehelper分页插件
springboot2.4.5使用pagehelper分页插件
159 0
下一篇
无影云桌面