java - 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')
}
}
这有助于我们的管理员和开发人员了解启动阶段是否结束以及应用程序是否运行。
问题:如何以编程方式显示横幅?
解决方案
@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。如果一切正常并且上下文已启动,这有助于好的情况。
如果上下文不运行,我没有针对坏情况的解决方案。
推荐阅读
- asp.net - 使用参数 .Net Core 调用操作
- javascript - 在 JavaScript/Flickity 时间线轮播上的导航按钮/链接上设置选定的类
- javascript - Fabric js没有从SVG加载图像
- c# - 在 IIS 上调用已部署的 .net 核心 API 时,“MS-ASPNETCORE-TOKEN”与预期的配对令牌不匹配
- javascript - 如何从动态加载的html动态加载新页面?
- python - Pandas:交换一个数据框中的特定列值并计算其加权平均值
- azure - Azure 存储:以编程方式对存储帐户启用 Blob 版本控制
- asp.net-mvc - n 层应用程序中的数据验证,是否需要在每一层上应用验证
- javascript - 正则表达式(用于数字和字符)
- vue.js - 如何禁用tinymce vuejs