当SpringBoot项目在启动时候,不做特殊设置的话,会不去校验数据库是否连接正确,只有对数据库操作时候才会进行报错,会影响项目效率,所以搜索了一篇文章,对数据库连接在连接失败后退出项目运行。
@Component
public class ApplicationContextHelper implements ApplicationContextAware {
private static ApplicationContext context;
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
try {
context = applicationContext;
// ===== 在项目初始化bean后检验数据库连接是否
DataSource dataSource = (DataSource) context.getBean("dataSource");
dataSource.getConnection().close();
} catch (Exception e) {
e.printStackTrace();
// ===== 当检测数据库连接失败时, 停止项目启动
System.exit(-1);
}
}
public ApplicationContext getApplicationContext() {
return context;
}
}