开发者

SpringBoot控制台秒变炫彩特效的实现指南

目录
  • 一、自定义 Spring Boot 启动横幅 banner.txt
    • 1、什么是 banner.txt?
    • 2、创建或修改 banner.txt
      • 2.1、文件位置:
      • 2.2. 内容示例(纯色风格 + 启动信息):
    • 3、加点颜色和风格(可选)
      • 4、启动测试
      • 二、进阶方式:关闭默认 Banner,自定义 Java 启动内容
        • 1、禁用 Spring Boot 的默认 banner:
          • 2、自定义启动打印代码
          • 三、实现启动成功后的彩色提示

            一、自定义 Spring Boot 启动横幅 banner.txt

            1、什么是 banner.txt?

            当你启动 Spring Boot 应用时,控制台会打印出一个默认的 Spring Boot Banner(比如启动LOGO)。这个内容来自 resources 目录下的 banner.txt 文件。你可以通过这个文件自定义你想展示的 ASCII 图案、版本号、提示文字等。

            2、创建或修改 banner.txt

            2.1、文件位置:

            在你的 Spring Boot 项目中,进入 src/main/resources 目录下,新建或编辑:

            src/main/resources/banner.txt

            2.2. 内容示例(纯色风格 + 启动信息):

            ===========================================
            ==         AbsWeb 启动成功!          ==
            ==         端口:${server.port}               ==
            ==         环境:${spring.profiles.active}       ==
            ==         时间:${date}              ==
            ===========================================
            

            你可以使用 Spring Boot 提供的一些占位符变量:

            占位符描述
            ${application.version}项目的 MANIFEST.MF 版本
            ${application.formatted-version} 格式化版本号
            ${spring-boot.version}Spring Boot 版本
            ${server.port} 当前端口号
            ${spring.profiles.active}当前激活的配置环境
            ${date}启动时间
            ${AnsiColor.NAME}控制台颜色(如 GREEN、RED)

            3、加点颜色和风格(可选)

            Spring Boot 支持 ANSI 颜色,在支持的终端中会显示彩色效果:

            ${AnsiColor.BRIGHT_CYAN}
            ===========================================
            ==         AbsWeb 启动成功!          ==
            ==         端口:${server.port}               ==
            ==         环境:${spring.profiles.active}       ==
            ==         时间:${date}              ==
            ===========================================
            ${AnsiColor.DEFAULT}
            

            4、启动测试

            启动项目时,你会看到类似输出:

            ===========================================
            ==         AbsWeb 启动成功!          ==
            ==         端口:8082                     ==
            ==         环境:test                     ==
            ==         时间:2025-06-13 16:52:10      ==
            ===========================================
            

            提供几个网站可以自己去生成图案:

            • https://patorjk.com/software/taag/
            • https://ascii.co.uk/art
            • https://fsymbols.com/generators/carty/

            二、进阶方式:关闭默认 Banner,自定义 Java 启动内容

            1、禁用 Spring Boot 的默认 banner:

            在你的配置文件(如 application.yml 或 application.properties)中添加:

            yml文件:

            spring:
              main:
                banner-mode: "off"
            

            properties文件:

            spring.main.banner-mode=off
            

            2、自定义启动打印代码

            在主启动类中添加一个打印方法,利用ANSI转义码输出彩色字符:

            public class AbsWebApplication {
             
                private static final String RESET = "\u001B[0m";
                private static final String CYAN = "\u001B[36m";
                private static final String BLUE = "\u001B[34m";
                private static final String PURPLE = "\u001B[35m";
                private static final String WHITE = "\u001B[37m";
            
                public static void main(String[] args) {
                    SpringApplication.run(AbsWebApplication.class, args);
                    printBanner();
                }
            
                private static void printBanner() {
                    System.out.println();
                    System.out.println(CYAN + "╔════════════════════════════════════════════╗" + RESET);
                    System.out.println(CYAN + "║" + BLUE + "  █████╗ ██████╗ ███████╗ ██████╗ ██╗  ██╗  " + CYAN + "║" + RESET);
                    System.out.println(CYAN + "║" + BLUE + " ██╔══██╗██╔═编程客栈═██╗██╔════╝██╔═══██╗██║ ██╔╝  " + CYAN + "║" + RESET);
                    System.out.println(CYAN + "║" + BLUE + " ███████║██████╔╝█████╗  ██║   ██║█████╔╝   " + CYAN + "║" + RESET);
                    System.out.println(CYAN + "║" + BLUE + " ██╔══██║██╔═══╝ ██╔══╝  ██║   ██║██╔═██╗   " + CYAN + "║" + RESET);
                    System.out.println(CYAN + "║" + BLUE + " ██║  ██║██║     ███████╗╚██████╔╝██║  ██╗  " + CYAN + "║" + RESET);
                    System.out.println(CYAN + "║" + BLUE + " ╚═╝  ╚═╝╚═╝     ╚══════╝ ╚═════╝ ╚═╝  ╚═╝  " + CYAN + "║" + RESET);
                    System.out.println(CYAN + "║                                            ║" + RESET);
                    System.out.println(CYAN + "║ " + WHITE + ">>> AbsWeb Application 启动成功 <<<" + CYAN + "           ║" + RESET);
                    System.out.println(CYAN + "║ " + PURPLE + "版本: v2.6.13  时间: " + WHITE + java.time.LocalTime.now() + CYAN + "        ║" + RESET);
                    System.out.println(CYAN + "╚════════════════════════════════════════════╝" + RESET);
                    System.out.println();
                }
            }
            

            输出结果如下:

            SpringBoot控制台秒变炫彩特效的实现指南

            下面多提供几个图案:

            public class AbsWebApplication {
             
                private static final String RESET = "\u001B[0m";
                private static final String CYAN = "\u001B[36m";
                private static final String MAGENTA = "\u001B[35m";
                private static final String BLUE = "\u001B[34m";
                private static final String YELLOW = "\u001B[33m";
            
                public static vpythonoid main(String[] args) {
                    SpringApplication.run(AbsWebApplication.class, args);
                    printBanner();
                }
            
                private static void printBanner() {
                    System.out.println();
                    System.out.println(MAGENTA + "╔══════════════════════════════════════════════════╗" + RESET);
                    System.out.println(MAGENTA + "║                                                  ║" + RESET);
                    System.out.println(MAGENTA + "║   " + CYAN + "██████╗  █████╗ ██████╗  ██████╗ ██╗      ██╗     " + MAGENTA + "║" + RESET);
                    System.out.println(MAGENTA + "║   " + CYAN + "██╔══██╗██╔══██╗██╔══██╗██╔═══██╗██║     ██╔╝     " + MAGENTA + "║" + RESET);
                    System.out.println(MAGENTA + "║   " + BLUE + "██████╔╝██编程客栈█████║██████╔╝██║   ██║██║    ██╔╝      " + MAGENTA + "║" + RESET);
                    System.out.println(MAGENTA + "║   " + BLUE + "██╔═══╝ ██╔══██║██╔═══╝ ██║   ██║██║    ╚═╝       " + MAGENTA + "║" + RESET);
                    System.out.println(MAGENTA + "║   " + YELLOW + "██║     ██║  ██║██║     ╚██████╔╝███████╗         " + MAGENTA + "║" + RESET);
                    System.out.println(MAGENTA + "║   " + YELLOW + "╚═╝     ╚═╝  ╚═╝╚═╝      ╚═════╝ ╚══════╝         " + MAGENTA + "║" + RESET);
                    System.out.println(MAGENTA + "║                                                  ║" + RESET);
                    System.out.println(MAGENTA + "║   " + CYAN + ">>> AbsWeb Application 启动成功 <<<               " + MAGENTA + "║" + RESET);
                    System.out.println(MAGENTA + "║   " + CYAN + "版本: v2.6.13    时间: " + java.time.LocalTimejavascript.now() + "                 " + MAGENTA + "║" + RESET);
                    System.out.println(MAGENTA + "║                                                  ║" + RESET);
                    System.out.println(MAGENTA + "╚══════════════════════════════════════════════════╝" + RESET);
                    System.out.println();
                }
            }
            public class AbsWebApplication {
            
                private static final String RESET = "\u001B[0m";
                private static final String RED = "\u001B[31m";
                private static final String GREEN = "\u001B[32m";
                private static final String BLUE = "\u001B[34m";
                private static final String PURPLE = "\u001B[35m";
                private static final String YELLOW = "\u001B[33m";
            
                public static void main(String[] args) {
                    SpringApplication.run(AbsWebApplication.class, args);
                    printBanner();
                }
            
                private static void printBanner() {
                    System.out.println();
                    System.out.println(PURPLE + "╔══════════════════════════╗" + RESET);
                    System.out.println(PURPLE + "║ " + RED + "▂▃▅▇█ AbsWeb启动成功 █▇▅▃▂" + PURPLE + " ║" + RESET);
                    System.out.println(PURPLE + "║ " + GREEN + "Version: v2.6.13" + "                      " + PURPLE + "║" + RESET);
                    System.out.println(PURPLE + "║ " + BLUE + "Time: " + java.time.LocalTime.now() + "         " + PURPLE + "║" + RESET);
                    System.out.println(PURPLE + "╚══════════════════════════╝" + RESET);
                    System.out.println();
                }
            }
            

            自己也可以让AI去生成。

            三、实现启动成功后的彩色提示

            public class AbsWebApplication {
                public static void main(String[] args) {
                    SpringApplication.run(AbsWebApplication.class, args);
                    printStartupMessage();
                }
            
               private static void printStartupMessage() {
                    String reset = "\u001B[0m";
                    String red = "\u001B[31m";
                    String yellow = "\u001B[33m";
                    String green = "\u001B[32m";
                    String cyan = "\u001B[36m";
                    String magenta = "\u001B[35m";
                    String blue = "\u001B[34m";
                    System.out.println(cyan + "    (\_/)  " + reset);
                    System.out.println(cyan + "    ( •_•)  " + reset + red + "  AbsWebApplication 启动成功!" + reset);
                    System.out.println(cyan + "  / >  " + reset + yellow + "  祝你今天工作顺利,项目无BUG~" + reset);
                    System.out.println();
                    System.out.println(magenta + "  ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓" + reset);
                    System.out.println(magenta + "  ┃       欢迎使用 AbsWeb!     ┃" + reset);
                    System.out.println(magenta + "  ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛" + reset);
                }
            }
            

            启动后示例:

            SpringBoot控制台秒变炫彩特效的实现指南

            下面提供几个示例:

            放进方法进行替换就行了。

            final String PURPLE = "\u001B[35m";
            final String RED = "\u001B[31m";
            final String RESET = "\u001B[0m";
            
            System.out.println(PURPLE + "   .----.  .----. " + RESET);
            System.out.println(PURPLE + "  /      \/      \" + RESET);
            System.out.println(RED + " |  (•)   (•)  | " + RESET);
            System.out.println(PURPLE + " |     <       | " + RESET);
            System.out.println(PURPLE + "  \   --'    /  " + RESET);
            System.out.println(PURPLE + "   `--------'    " + RESET);
            System.out.println(RED + "    AbsWeb 已启动!" + RESET);
            public static void printTechWave() {
                final String RESET = "\u001B[0m";
                final String BLUE = "\u001B[34m";
                final String CYAN = "\u001B[36m";
                final String PURPLE = "\u001B[35m";
                final String WHITE = "\u001B[37m";
            
                System.out.println(CYAN + "╔════════════════════════════════════════════╗" + RESET);
                System.out.println(CYAN + "║" + BLUE + "    ██╗   ██╗████████╗██╗   ██╗███████╗        " + CYAN + "║" + RESET);
                System.out.println(CYAN + "║" + BLUE + "    ██║   ██║╚══██╔══╝██║   ██║██╔════╝        " + CYAN + "║" + RESET);
                System.out.println(CYAN + "║" + BLUE + "    ██║   ██║   ██║   ██║   ██║█████╗          " + CYAN + "║" + RESET);
                System.out.println(CYAN + "║" + BLUE + "    ██║   ██║   ██║   ██║   ██║██╔══╝          " + CYAN + "║" + RESET);
                System.out.println(CYAN + "║" + BLUE + "    ╚██████╔╝   ██║   ╚██████╔╝███████╗        " + CYAN + "║" + RESET);
                System.out.println(CYAN + "║" + BLUE + "     ╚═════╝    ╚═╝    ╚═════╝ ╚══════╝        " + CYAN + "║" + RESET);
                System.out.println(CYAN + "║                                            ║" + RESET);
                System.out.println(PURPLE + "║     AbsWeb Application 启动成功!       ║" + RESET);
                System.out.println(PURPLE + "║   Version: v2.6.13    " + WHITE + "启动时间: " + java.time.LocalTime.now() + "   " + PURjavascriptPLE + " ║" + RESET);
                System.out.println(CYAN + "╚════════════════════════════════════════════╝" + RESET);
            }
            

            以上就是SpringBoot控制台秒变炫彩特效的实现指南的详细内容,更多关于SpringBoot控制台炫彩特效的资料请关注编程客栈(www.devze.com)其它相关文章!

            0

            上一篇:

            下一篇:

            精彩评论

            暂无评论...
            验证码 换一张
            取 消

            最新开发

            开发排行榜