• springboot启动banner图片


    SpringBoot启动的时候会打印了默认在resource下面banner.txt里面的内容,突然好奇,就大概看下源码,记个笔记,比较简单.
    首先,banner有个开关:

       SpringApplication springApplication = new SpringApplication(RunApplication.class);
            //控制台打印
    //       springApplication.setBannerMode(Banner.Mode.CONSOLE);
            //关闭
            springApplication.setBannerMode(Banner.Mode.OFF);
            springApplication.run(args);
    

    Mode对应的枚举比较简单:

    		OFF,
            CONSOLE,
            LOG;
    

    然后点到run方法里面去,一眼看见printBanner字样:
    在这里插入图片描述
    点到this.printBanner方法里面去:
    在这里插入图片描述
    在一开始设置的开关那里,set方法赋值进去了, springApplication.setBannerMode(Banner.Mode.OFF);如果为OFF就不打印:
    在这里插入图片描述
    如果开启的话,就先获得资源加载器ResourceLoader,ResourceLoader内部默认是以classpath:开头的,所以,我们只需要在resource下面创建banner.txt即可.
    在这里插入图片描述
    然后根据加载器和打印的Model枚举初始化SpringApplicationBannerPrinter,这个类就是打印banner的具体类了,然后主要打印方法就是print方法,其他方法就是获取不同的banner,然后再下面的静态内部类,我也不是很懂,希望大佬留言教教我…然后打印就两个方法,一个日志打印,一个流打印.
    在这里插入图片描述
    在这里插入图片描述
    然后日志打印的话,就根据createStringFromBanner这个方法获取Stirng字符串,然后日志打印,
    控制台输出的话,就是根据先根据环境获取对应的Banner,实现Banner(里面就打印方法)接口主要一个图片banner,和资源banner,这里应该是ResourceBanner资源banner,然后调用ResourceBanner里面的printBanner方法.,里面就有我们熟悉的 System.out.println()了.
    在这里插入图片描述
    在这里插入图片描述
    中间一些PropertyResolver我感觉应该是做一些解析,但具体,也不是很懂,萌新希望大佬留言指点指点.以上就是springboot加载banner图片的大概流程.然后,那我们自己想实现一个简单的打印banner呢?那就解析banner.txt文件转换为字符串,然后直接打印出来即可.
    在这里插入图片描述
    可以写在启动完成之后,也可以写在之前,就是读取文件,转为String打印出来…
    在线生成banner图:https://www.bootschool.net/ascii/

    世界上所有的不公平都是由于当事人能力不足造成的.
  • 相关阅读:
    struts2类型转换
    struts2拦截器
    计算机系统结构
    struts2标签
    struts2 OGNL表达式
    使用bootstrap
    Struts2-综合项目
    拦截器,课3
    struts2之OGNL
    Struts2框架
  • 原文地址:https://www.cnblogs.com/javayida/p/13347097.html
Copyright © 2020-2023  润新知