引用了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;
}
