用了自定义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 的方法。

相关文章
|
6月前
|
Java Spring
【SpringBoot】SpringBoot自定义banner,成千上万种可供选择,当然也可以自定义生成哦
【SpringBoot】SpringBoot自定义banner,成千上万种可供选择,当然也可以自定义生成哦
92 1
|
1月前
|
Java Spring
springboot自定义banner
springboot自定义banner
springboot自定义banner
|
7月前
|
Java 开发者 Spring
SpringBoot更换Banner图
SpringBoot更换Banner图
130 0
|
3月前
|
Dubbo Java 应用服务中间件
如何在 Spring Boot 中制作和管理 Banner:完全指南
在 Spring Boot 应用的初启页面展示独特的ASCII艺术品能够为您的应用增添特色,并为用户或开发者提供温馨的问候。这种ASCII图案常常蕴含着项目的名称、版本信息、以及作者等重要数据。除此之外,这样的欢迎页面还起到加强品牌形象的作用。
|
4月前
|
Java 程序员
springboot自定义更换启动banner动画
springboot自定义更换启动banner动画
35 0
springboot自定义更换启动banner动画
|
4月前
|
Java
SpringBoot中是如何打印banner的呢?
SpringBoot中是如何打印banner的呢?
61 0
|
9月前
|
Java
SpringBoot 自定义banner (小彩蛋)
SpringBoot 自定义banner (小彩蛋)
63 0
|
9月前
|
Java Spring
springboot自定义Banner图(项目启动时打印的spring图)
springboot项目启动一般是以这种方式启动:SpringApplication.run(App.class);
|
Java Python
【笑小枫的SpringBoot系列】【七】SpringBoot控制台自定义banner
【笑小枫的SpringBoot系列】【七】SpringBoot控制台自定义banner
103 0
|
Java 程序员 Spring
SpringBoot自定义Banner
SpringBoot自定义Banner
103 0
SpringBoot自定义Banner