如果一个 Bean 失败,则防止 Spring 失败

Prevent Spring from Failing if One Bean Fails

我们有一个使用 Spring 的 AnnotationConfigApplicationContext 在启动时创建 bean 的应用程序。我们想要做的是不让 Spring 销毁所有创建的 bean,从而在创建其中一个 bean 失败时导致应用程序在启动时失败。是否有任何本机 Spring 配置或方法来完成此操作?

我尝试用我自己的自定义 AnnotationConfigApplicationContext 覆盖 AnnotationConfigApplicationContext 并在其中捕获异常。但是发生的事情是当抛出异常时,所有剩余的 bean 都没有创建。

我们正在使用 Spring 4.3.0。

解决这个问题的简单方法是 lazy 在 bean 声明中使用属性 lazy-init="true" 初始化 bean