java - 如何在spring boot启动期间关闭应用程序
问题描述
我有一个关于启动的问题spring boot
,如何在启动时关闭应用程序,例如,我有以下
application.yml
:
ansi:
true
我有以下@Configuration
课程:
@Configuration
class AppConfig {
@Value('${ansi}')
String ansi;
@Bean
getAnsi() {
if(ansi.equals("true")) {
Ansi ansiObj = new Ansi();
ansiObj.ansi = ansi;
return ansiObj;
}
}
}
class Ansi {
String ansi;
}
在is时ansi
,它继续,否则,应用程序应该关闭,我们可以在创建 bean 期间关闭应用程序吗?这是一个好习惯吗?有什么好的方法来处理这个吗?application.yml
true
解决方案
如果 bean 抛出异常,则 Spring 将不会继续,并且该过程将结束。
if(ansi.equals("true")) {
Ansi ansiObj = new Ansi();
ansiObj.ansi = ansi;
return ansiObj;
}
else {
throw new IllegalArgumentException("reason");
}
我不能说我曾经有过它的用例,但我不会说这是必要的坏习惯。在这个有限的真假例子中,似乎有点不寻常。如果您需要对属性进行约束,例如 X < 10,那将更有意义
推荐阅读
- mysql - 在 Windows 上测量 MySQL 的有效 CPU 利用率
- java - Java Embedded,插入后我无法重新检查该行是否存在
- video-streaming - 如何将 Ant Media Server 端口/协议与 VLC 或 FFplay 连接?
- node.js - 使用密钥 rsa nodejs 生成 pem pkcs8
- visual-studio - 无法将 ADO.NET 实体数据模型添加到 .NET Core 2.1 项目
- android - 加载大图像以适应 ImageView
- kubernetes - Openstack Heat 和 Kubernetes 部署集成
- javascript - 显示平铺显示失败的替代图像/平铺(D3 Geo Tiles)
- arrays - 下载远程图像后延迟数据源方法
- java - Spring @Scheduled 执行作业的次数超过预期次数