springboot启动banner设置,可参考链接:https://www.bootschool.net/ascii 设计自己喜欢的图案。
在resources文件夹下,添加banner.txt文件,即可实现自定义启动图标。
阅读源码,了解banner是如何加载展示的。
SpringApplication:可用于从Java main *方法引导和启动Spring应用程序的类。( Class that can be used to bootstrap and launch a Spring application from a Java main method. By default class will perform the following steps to bootstrap your application)
如果没有禁止打印banner,printBanner方法会调用SpringApplicationBannerPrinter(用于打印应用程序标题的类。Class used by {@link SpringApplication} to print the application banner.)的print方法。
根据打印banner到console还是日志,对应两种方法
如果没有配置图片或者文本,会返回默认的banner。
SpringBootBanner类实现了Banner接口,默认的Banner实现,它写入“ Spring”横幅。(Default Banner implementation which writes the 'Spring' banner.)
SpringBootBanner的printBanner方法什么时候调用?
因为SpringApplication的printBanner方法判断了是否打印到日志,所以有两处调用
调用banner实现类接口方法,将banner打印到指定的打印流。eg:如果调用SpringBootBannr打印的就是默认的banner。
测试发现,如果添加banner.txt,调用ResourceBanner(从源文本打印的banner实现)实现类的方法。
总结下,spring启动加载会先判断应用程序环境有没有banner图片、文本,如果没有配置的话,会试用默认的banner打印。
end,第一次源码分析,大家如有建议或不满,请留言,共同成长,谢谢。