在春季启动时检查数据库连接

时间:2019-01-09 18:40:58

标签: spring

我想在启动Spring应用程序时(即在生成应用程序上下文时)检查数据库连接。我计划在一个单独的类(例如,类Checker)中进行此操作,该类将引用需要检查的连接对象(或其包装)。如果连接成功,则启动过程将继续,否则将中止。问题在于类Checker的实例化。应该使用new Checker()完成还是将其创建为@Bean,其init方法执行此检查。

1 个答案:

答案 0 :(得分:0)

使用助手获取bean:

public class SpringContextHolder implements ApplicationContextAware {
        public static ApplicationContext applicationContext;

        public void setApplicationContext(ApplicationContext applicationContext) {
            SpringContextHolder.applicationContext = applicationContext;
        }
    }

现在,您可以使用静态上下文,例如SpringContextHolder.applicationContext.getBean(name).