我想在启动Spring应用程序时(即在生成应用程序上下文时)检查数据库连接。我计划在一个单独的类(例如,类Checker)中进行此操作,该类将引用需要检查的连接对象(或其包装)。如果连接成功,则启动过程将继续,否则将中止。问题在于类Checker的实例化。应该使用new Checker()
完成还是将其创建为@Bean
,其init
方法执行此检查。
答案 0 :(得分:0)
使用助手获取bean:
public class SpringContextHolder implements ApplicationContextAware {
public static ApplicationContext applicationContext;
public void setApplicationContext(ApplicationContext applicationContext) {
SpringContextHolder.applicationContext = applicationContext;
}
}
现在,您可以使用静态上下文,例如SpringContextHolder.applicationContext.getBean(name).