SpringBoot启动控制台的banner是怎么回事( 三 )

 
继续寻找printBanner的调用方,定位到了SpringApplication#run(String...) 。
上面有提到过,通常我们SpringBoot项目都是去调用SpringApplication#run(Class, String...)去启动项目,底层是通过new关键字创建SpringApplication对象,最后调用SpringApplication#run(String...)完成一系列的资源初始化 。
所以这就可以解释大多数情况下,我们的SpringBoot项目启动时都会打印那个默认的“Spring”字符 。
【SpringBoot启动控制台的banner是怎么回事】SpringApplication#printBanner源码
如何修改项目启动的banner 修改banner打印策略
经上分析,banner打印策略包括控制台、日志、不打印 。
1. 隐式
默认策略是控制台,只需大多数情况一样,项目启动类通过SpringApplication.run(DistinctAppUserServiceApplication.class, args);启动,无需指定 。
2. 显式注入
通过SpringApplicationBuilder构造器显式注入banner打印策略 。
@SpringBootApplicationpublic class DemoApplication { public static void main(String[] args) { new SpringApplicationBuilder(DemoApplication.class) // Banner.Mode.LOG 打印到日志 // Banner.Mode.OFF 不打印 .bannerMode(Banner.Mode.CONSOLE) .run(args); }}
打印效果
打印到控制台

SpringBoot启动控制台的banner是怎么回事

文章插图
 
打印到日志:INFO级别
SpringBoot启动控制台的banner是怎么回事

文章插图
 
修改banner内容 文本
方式一:在src/main/resources下新建banner.txt,里面放入想要打印的内容即可 。
方式二:修改配置文件
spring: banner: location: file/bannerText.txt #文件位置 src/main/resources/file/bannerText.txt 图片
和文本方式相同,但是图片类型有限制,只能是以下三种gif,、jpg、png 。
方式一:在src/main/resources下新建banner.png,里面放入想要打印的内容即可 。
方式二:修改配置文件
spring: banner: image: location: file/bannerImage.png #文件位置 src/main/resources/file/bannerImage.png
打印效果
SpringBoot启动控制台的banner是怎么回事

文章插图




推荐阅读