SpringBoot启动的时候不去校验数据库连接配置是否正确

Posted YanWu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot启动的时候不去校验数据库连接配置是否正确相关的知识,希望对你有一定的参考价值。

spring boot在启动的时候只会检查你是否配置了数据库连接, 而不会检测配置的是否正确

这样会出现的问题是: 只有在你使用数据库的时候才知道配置出错, 我们希望是在程序启动的时候就进行检查, 如果数据库连接配置的有问题, 直接终止程序启动

可以通过以下的方式处理: 在包扫描路径下添加该类

 1 @Component
 2 public class ApplicationContextHelper implements ApplicationContextAware {
 3 
 4     private static ApplicationContext context;
 5 
 6     @Override
 7     public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
 8         try {
 9             context = applicationContext;
10             // ===== 在项目初始化bean后检验数据库连接是否
11             DataSource dataSource = (DataSource) context.getBean("dataSource");
12             dataSource.getConnection();
13         } catch (Exception e) {
14             e.printStackTrace();
15             // ===== 当检测数据库连接失败时, 停止项目启动
16             System.exit(-1);
17         }
18     }
19 
20     public ApplicationContext getApplicationContext() {
21         return context;
22     }
23 
24 }

 

以上是关于SpringBoot启动的时候不去校验数据库连接配置是否正确的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot启动时如何对配置文件进行校验?这种方法才叫优雅!(文末福利)

SpringBoot技术实践-随机端口启动

SpringBoot - 优雅的实现应用启动参数校验

在SpringBoot中使用FluentValidator验证插件

SpringBoot之服务端数据校验

使用篇SpringBoot服务端数据校验