用了自定义Banner后,SpringBoot瞬间变的高大上了...(下)

简介: 用了自定义Banner后,SpringBoot瞬间变的高大上了...

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-'


最终的展示效果如下图所示:


image.png


Banner使用输出变量


在 banner.txt 中我们还可以输出一些全局变量,例如:


  • ${application.version}:用来获取 MANIFEST.MF 文件中的版本号;
  • ${application.formatted-version}:格式化后的 ${application.version} 版本信息;
  • ${spring-boot.version}:Spring Boot 版本号;
  • ${spring-boot.formatted-version}:格式化后的 ${spring-boot.version} 版本信息。


使用示例如下:


      /¯¯¯¯\     
    o-|[][]|-o   
      |_--_|     
   /¯¯¯¯¯¯¯¯¯¯\  
   |||  «»  |||  
   |||      |||  
  (o)|      |(o) 
     |  ||  |    
     |__||__|    
     |__||__|
Spring Boot 版本:${spring-boot.version}


Banner图在线生成


在线生成 banner 的地址:



推荐使用第一种,使用缩略图如下:


image.png


隐藏Banner


如果我们需要隐藏 banner 信息,可以通过以下三种方法实现。


1.通过代码关闭Banner


我们可以在 Spring Boot 启动(run)之前设置隐藏 banner,实现代码如下:


public class DemoApplication {
    public static void main(String[] args) {
        SpringApplication springApplication = new SpringApplication(DemoApplication.class);
        // 隐藏 banner
        springApplication.setBannerMode(Banner.Mode.OFF);
        // 启动 Spring Boot
        springApplication.run(args);
    }
}


2.通过配置文件隐藏Banner


在 Spring Boot 的配置文件 application.properties 通过设置如下配置来隐藏 banner 的显示,配置如下:


spring.main.banner-mode=off


3.在Idea中隐藏Banner


我们可以在 Idea 的调试配置中隐藏 banner,如下图所示:


image.png


附:彩蛋


文章的末尾,附一个七彩佛祖的 banner 内容:


${AnsiColor.BRIGHT_GREEN}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
${AnsiColor.BRIGHT_YELLOW}$$                                _.ooOoo._                               $$
${AnsiColor.BRIGHT_RED}$$                               o888888888o                              $$
${AnsiColor.BRIGHT_CYAN}$$                               88"  .  "88                              $$
${AnsiColor.BRIGHT_MAGENTA}$$                               (|  ^_^  |)                              $$
${AnsiColor.BRIGHT_GREEN}$$                               O\   =   /O                              $$
${AnsiColor.BRIGHT_RED}$$                            ____/`-----'\____                           $$
${AnsiColor.BRIGHT_CYAN}$$                          .'  \\|       |$$  `.                         $$
${AnsiColor.BRIGHT_MAGENTA}$$                         /  \\|||   :   |||$$  \                        $$
${AnsiColor.BRIGHT_GREEN}$$                        /  _|||||  -:-  |||||-  \                       $$
${AnsiColor.BRIGHT_YELLOW}$$                        |   | \\\   -   $$/ |   |                       $$
${AnsiColor.BRIGHT_GREEN}$$                        | \_|  ''\-----/''  |   |                       $$
${AnsiColor.BRIGHT_YELLOW}$$                        \  .-\___  `-`  ____/-. /                       $$
${AnsiColor.BRIGHT_CYAN}$$                      ___`. .'   /--.--\   `. . ___                     $$
${AnsiColor.BRIGHT_RED}$$                    ."" '<  `.____\_<|>_/____.'  >'"".                  $$
${AnsiColor.BRIGHT_GREEN}$$                  | | :  `- \`.;`.\ _ /``;.`/ - ` : | |                 $$
${AnsiColor.BRIGHT_YELLOW}$$                  \  \ `-.   \_ ___\ /___ _/   .-` /  /                 $$
${AnsiColor.BRIGHT_CYAN}$$            ========`-.____`-.____\_____/____.-`____.-'========         $$
${AnsiColor.BRIGHT_MAGENTA}$$                                  `=---='                               $$
${AnsiColor.BRIGHT_YELLOW}$$            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^        $$
${AnsiColor.BRIGHT_GREEN}$$                     佛祖保佑          永无BUG         永不修改         $$
${AnsiColor.BRIGHT_YELLOW}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
${AnsiColor.BRIGHT_YELLOW}


实现效果如下图所示:


image.png


总结


本文我们讲了自定义 banner 的两种方法,自定义 banner 类和 banner.txt 的方式,其中以源码分析的方式讲了为什么可以通过 banner.txt 自定义 banner信息。我们还讲了 banner 样式控制(颜色、字体样式等)和全局变量输出的方法,以及 banner 图在线生成的几个地址,最后还讲了 3 种隐藏 banner 的方法。

相关文章
|
2月前
|
SQL 监控 druid
springboot-druid数据源的配置方式及配置后台监控-自定义和导入stater(推荐-简单方便使用)两种方式配置druid数据源
这篇文章介绍了如何在Spring Boot项目中配置和监控Druid数据源,包括自定义配置和使用Spring Boot Starter两种方法。
|
1月前
|
并行计算 Java 数据处理
SpringBoot高级并发实践:自定义线程池与@Async异步调用深度解析
SpringBoot高级并发实践:自定义线程池与@Async异步调用深度解析
163 0
|
1月前
|
人工智能 自然语言处理 前端开发
SpringBoot + 通义千问 + 自定义React组件:支持EventStream数据解析的技术实践
【10月更文挑战第7天】在现代Web开发中,集成多种技术栈以实现复杂的功能需求已成为常态。本文将详细介绍如何使用SpringBoot作为后端框架,结合阿里巴巴的通义千问(一个强大的自然语言处理服务),并通过自定义React组件来支持服务器发送事件(SSE, Server-Sent Events)的EventStream数据解析。这一组合不仅能够实现高效的实时通信,还能利用AI技术提升用户体验。
166 2
|
2月前
|
Java Spring
springboot静态资源目录访问,及自定义静态资源路径,index页面的访问
本文介绍了Spring Boot中静态资源的访问位置、如何进行静态资源访问测试、自定义静态资源路径和静态资源请求映射,以及如何处理自定义静态资源映射对index页面访问的影响。提供了两种解决方案:取消自定义静态资源映射或编写Controller来截获index.html的请求并重定向。
springboot静态资源目录访问,及自定义静态资源路径,index页面的访问
|
1月前
|
Java Spring
【SpringBoot】技能一之修改端口与banner样式
【SpringBoot】技能一之修改端口与banner样式
27 5
|
1月前
|
缓存 NoSQL Java
Springboot自定义注解+aop实现redis自动清除缓存功能
通过上述步骤,我们不仅实现了一个高度灵活的缓存管理机制,还保证了代码的整洁与可维护性。自定义注解与AOP的结合,让缓存清除逻辑与业务逻辑分离,便于未来的扩展和修改。这种设计模式非常适合需要频繁更新缓存的应用场景,大大提高了开发效率和系统的响应速度。
62 2
|
1月前
|
监控 Java Maven
springboot学习二:springboot 初创建 web 项目、修改banner、热部署插件、切换运行环境、springboot参数配置,打包项目并测试成功
这篇文章介绍了如何快速创建Spring Boot项目,包括项目的初始化、结构、打包部署、修改启动Banner、热部署、环境切换和参数配置等基础操作。
134 0
|
1月前
|
前端开发 Java 数据库
springBoot:template engine&自定义一个mvc&后端给前端传数据&增删改查 (三)
本文介绍了如何自定义一个 MVC 框架,包括后端向前端传递数据、前后端代理配置、实现增删改查功能以及分页查询。详细展示了代码示例,从配置文件到控制器、服务层和数据访问层的实现,帮助开发者快速理解和应用。
|
3月前
|
Java 数据安全/隐私保护 Spring
揭秘Spring Boot自定义注解的魔法:三个实用场景让你的代码更加优雅高效
揭秘Spring Boot自定义注解的魔法:三个实用场景让你的代码更加优雅高效
|
3月前
|
监控 安全 Java
【开发者必备】Spring Boot中自定义注解与处理器的神奇魔力:一键解锁代码新高度!
【8月更文挑战第29天】本文介绍如何在Spring Boot中利用自定义注解与处理器增强应用功能。通过定义如`@CustomProcessor`注解并结合`BeanPostProcessor`实现特定逻辑处理,如业务逻辑封装、配置管理及元数据分析等,从而提升代码整洁度与可维护性。文章详细展示了从注解定义、处理器编写到实际应用的具体步骤,并提供了实战案例,帮助开发者更好地理解和运用这一强大特性,以实现代码的高效组织与优化。
186 0

热门文章

最新文章

下一篇
无影云桌面