博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
springboot banner打印,控制台springboot图案怎么来的
阅读量:2060 次
发布时间:2019-04-29

本文共 1731 字,大约阅读时间需要 5 分钟。

开始

SpringApplication.run(SampleController.class, args);

开始SpringApplication的初始化

public SpringApplication(Object... sources) {    //一些初始化,监听器,容器初始化    this.initialize(sources);    }

执行过程的方法

public ConfigurableApplicationContext run(String... args) {//主要执行过程}

springboot的banner图案就在上面的方法内被执行,打印到控制台

Banner printedBanner = this.printBanner(environment);//生成context会判断是否在this.webEnvironment ?context = this.createApplicationContext();//根据环境打印this.prepareContext(context, environment, listeners, applicationArguments, printedBanner);

上面的this.printBanner(environment);会取到banner实例,包含banner的字符

private Banner printBanner(ConfigurableEnvironment environment) {        if (this.bannerMode == Mode.OFF) {            return null;        } else {            ResourceLoader resourceLoader = this.resourceLoader != null ? this.resourceLoader : new DefaultResourceLoader(this.getClassLoader());            //SpringApplicationBannerPrinter的属性DEFAULT_BANNER就是SpringBootBanner类,SpringBootBanner的BANNER属性(字符数组)就是熟悉的控制台的banner图            SpringApplicationBannerPrinter bannerPrinter = new SpringApplicationBannerPrinter((ResourceLoader)resourceLoader, this.banner);            //bannerPrinter.print会调用this.getBanner方法取得bannner字符数组,打印            return this.bannerMode == Mode.LOG ? bannerPrinter.print(environment, this.mainApplicationClass, logger) : bannerPrinter.print(environment, this.mainApplicationClass, System.out);        }    }

最后展示一下熟悉的springboot控制台banner图

.   ____          _            __ _ _ /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/  ___)| |_)| | | | | || (_| |  ) ) ) )  '  |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot ::        (v1.5.9.RELEASE)

转载地址:http://orxlf.baihongyu.com/

你可能感兴趣的文章
Python pymqi 连接 IBM MQ
查看>>
JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof 详解
查看>>
Java - JVM TLAB、对象在内存中安置顺序、垃圾收集、回收算法
查看>>
转: 关于Linux与JVM的内存关系分析
查看>>
(转)Java 程序员必备的高效 Intellij IDEA 插件
查看>>
局域网(内网)docker安装及代理访问
查看>>
软考 英语学习
查看>>
maven 文件上传到远程服务器目录
查看>>
shell 脚本免密远程访问
查看>>
Linux平台Oracle多个实例启动说明
查看>>
在LINUX平台上手动创建数据库(oracle 10g)(在一个oracle服务器上启动两个实例)
查看>>
Oracle 10g 下载地址
查看>>
Linux 下 新增Oracle10g 实例
查看>>
LRM-00123 ORA-01078
查看>>
ORA-01102: cannot mount database in EXCLUSIVE mode
查看>>
专栏结语
查看>>
BERT 实战
查看>>
BERT 基础
查看>>
什么是 Transformer
查看>>
简述 XLNet 的原理和应用
查看>>