精选
推荐文章

引用了druid数据源,如何让数据源报错不影响springboot启动

mini云码 发布日期: 2025-11-07 15:48


引用了druid数据源的时候,假如数据源配置错误,比如密码或url错误,经常会引起springboot的启动程序卡住,无法运行的情况。

druid数据源有两个关键的参数,一个是initial-size参数,一个是max-wait参数。

initial-size参数决定了启动的时候是否连接数据源,max-wait是一次连接的最长等待时间,假如不设置max-wait,当连接不上数据库的时候,就会一直等待,而密码是错误的又一直连不上,所以一直卡住。

因此,我们需要对druid数据源的初始化做一些设置。使用springboot自带数据源,配置如下:

spring.datasource.druid.initial-size=0
spring.datasource.druid.max-wait=20000


假如是自定义数据源,代码如下:

@Bean(name="xxxxDataSource")
public DataSource xxxxDataSource()
{
       DruidDataSource dataSource = new DruidDataSource();
       dataSource.setUrl("jdbc:mysql://localhost:3306/dbname");
       dataSource.setUsername("yourusername");
       dataSource.setPassword("123456");
       dataSource.setInitialSize(0); 
       dataSource.setMaxWait(20000);
       return dataSource;
}