SpringBo關閉日誌logo圖像
主方法
springApplication.run(DemoApplication.class,args);
點擊run方法進去可以看到
public static ConfigurableApplicationContext run(Class<?> primarySource, String... args) { return run(new Class[]{primarySource}, args); }
調用下面方法
public static ConfigurableApplicationContext run(Class<?>[] primarySources, String[] args) { return (new SpringApplication(primarySources)).run(args); }
然後調用 SpringApplication 找到構造方法
public SpringApplication(ResourceLoader resourceLoader, Class... primarySources) { this.sources = new LinkedHashSet(); this.bannerMode = Mode.CONSOLE; this.logStartupInfo = true; this.addCommandLineProperties = true; this.addConversionService = true; this.headless = true; this.registerShutdownHook = true; this.additionalProfiles = new HashSet(); this.isCustomEnvironment = false; this.resourceLoader = resourceLoader; Assert.notNull(primarySources, "PrimarySources must not be null"); this.primarySources = new LinkedHashSet(Arrays.asList(primarySources)); this.webApplicationType = WebApplicationType.deduceFromClasspath(); this.setInitializers(this.getSpringFactoriesInstances(ApplicationContextInitializer.class)); this.setListeners(this.getSpringFactoriesInstances(ApplicationListener.class)); this.mainApplicationClass = this.deduceMainApplicationClass(); }
this.bannerMode = Mode.CONSOLE; logo處於打開狀態
找到成員變量
private Mode bannerMode;
找到類Mode類
Banner 接口
@FunctionalInterface public interface Banner { void printBanner(Environment environment, Class<?> sourceClass, PrintStream out); public static enum Mode { OFF, CONSOLE, LOG; private Mode() { } } }
將狀態設置OFF
SpringApplication springApplication = new SpringApplication(DemoApplication.class); springApplication.setBannerMode(Banner.Mode.OFF); springApplication.run(args);
運行