是否可以告诉 spring boot 只有在资源可用时才启动应用程序?

Can spring boot be told to start an application only if a resource is available?

我是开发 spring 引导后端应用程序的团队的一员,该应用程序为移动应用程序提供数据。随着新功能的出现,需要在后端加载资源,这需要提供给移动应用程序。

由于这个资源很重要,并且通过在启动期间加载一次来使对资源的访问有效,我想知道我是否可以告诉 spring 在没有这个资源存在的情况下启动不启动文件系统。我知道注解@PostConstruct,但在那里加载资源似乎为时已晚。

提前感谢您的建议

您可以在开始申请之前执行此操作。

@SpringBootApplication
public class SpringBootTestApplication {

    public static void main(String[] args) {
        // TODO Do your checking here and exit if you like
        SpringApplication.run(SpringBootTestApplication, args);
    }
}

@PostConstruct 可用于确保应用程序在启动时具有您需要的东西,例如数据库池等。例如,如果文件不存在,您可以抛出 IllegalStateException() 并且它可以停止应用程序加载。我 运行 进行了快速测试并且有效。您可以按如下方式使用它们。

@PostConstruct
    public void setup() {
        // check the stuff that you need.
        if (condition) {                
            throw new IllegalStateException();
        }
    }