首页 > 解决方案 > Springboot,如何在启动时以编程方式显示横幅,再次

问题描述

如果 springboot 应用程序启动,则会显示一个徽标/横幅。我在banner.txt 文件中使用了我自己的彩色横幅。它在开始时显示,一切都很好。

但是我想在成功或不成功启动后重复我的横幅作为最后的启动消息。喜欢:横幅+“运行”或横幅+“不运行”。

像这样的东西:

 public static void main( String[] args )
   {
     try {
      SpringApplication.run( ControllerUndMain.class, args );
           showLogo();
           System.out.println('runs')
        } catch(Exception e){
           showLogo();
           System.out.println('not working')
        }
}

这有助于我们的管理员和开发人员了解启动阶段是否结束以及应用程序是否运行。

问题:如何以编程方式显示横幅?

标签: javaspring-bootbanner

解决方案


@SpringBootApplication
public class SimpleDemoApplication {

public static void main(String[] args) {

    final SpringApplication app;
    final ConfigurableApplicationContext context;
    app = new SpringApplication(SimpleDemoApplication.class);
    context = app.run(args);

    print(context);
}

public static void print(ConfigurableApplicationContext context) {
    Banner banner = context.getBean(Banner.class);
    banner.printBanner(context.getEnvironment(), SimpleDemoApplication.class, System.out);
}

}

只需注入或通过 context.getBean org.springframework.boot.Banner.class。如果一切正常并且上下文已启动,这有助于好的情况。

如果上下文不运行,我没有针对坏情况的解决方案。


推荐阅读