一、引入的jar包问题
正确包

<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.16</version>
</dependency>
错误包

<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.16</version>
</dependency>
二、配置文件

三、在spring中初始化Druid数据(注解方式)
参数名称与配置文件中的名称对应
@Bean
@Primary
public DruidDataSource dataSource(@Autowired Environment environment){
DruidDataSource dataSource = new DruidDataSource();
dataSource.setUrl(environment.getProperty("spring.datasource.url"));
dataSource.setUsername(environment.getProperty("spring.datasource.username"));
dataSource.setPassword(environment.getProperty("spring.datasource.password"));
dataSource.setDriverClassName(environment.getProperty("spring.datasource.driverClassName"));
dataSource.setInitialSize(Integer.parseInt(environment.getProperty("spring.datasource.druid.initial-size")));
dataSource.setMinIdle(Integer.parseInt(environment.getProperty("spring.datasource.druid.min-idle")));
dataSource.setMaxActive(Integer.parseInt(environment.getProperty("spring.datasource.druid.max-active")));
// 配置获取连接等待超时的时间
dataSource.setMaxWait(Long.parseLong(environment.getProperty("spring.datasource.druid.max-wait")));
// 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
dataSource.setTimeBetweenEvictionRunsMillis(Long.parseLong(environment.getProperty("spring.datasource.timeBetweenEvictionRunsMillis")));
// 配置一个连接在池中最小生存的时间,单位是毫秒
dataSource.setMinEvictableIdleTimeMillis(Long.parseLong(environment.getProperty("spring.datasource.minEvictableIdleTimeMillis")));
dataSource.setValidationQuery(environment.getProperty("spring.datasource.validationQuery"));
dataSource.setTestWhileIdle(Boolean.parseBoolean(environment.getProperty("spring.datasource.testWhileIdle")));
dataSource.setTestOnBorrow(Boolean.parseBoolean(environment.getProperty("spring.datasource.testOnBorrow")));
dataSource.setTestOnReturn(Boolean.parseBoolean(environment.getProperty("spring.datasource.testOnReturn")));
dataSource.setPoolPreparedStatements(Boolean.parseBoolean(environment.getProperty("spring.datasource.poolPreparedStatements")));
dataSource.setMaxPoolPreparedStatementPerConnectionSize(Integer.parseInt(environment.getProperty("spring.datasource.maxPoolPreparedStatementPerConnectionSize")));
try {
dataSource.setFilters(environment.getProperty("spring.datasource.filters"));
} catch (SQLException e) {
logger.error("druid configuration initialization filter", e);
}
return dataSource;
}
这篇博客介绍了在使用Springboot、Mybatis、Redis和Druid集成部署后,遇到SQL监控无记录的问题。首先,作者分析了可能存在的jar包引入错误,区分了正确和错误的jar包。接着,详细讨论了配置文件的设置,并着重讲解了如何在Spring中通过注解方式初始化Druid数据,确保参数名称与配置文件中的名称匹配,以解决SQL监控记录缺失的问题。
722

被折叠的 条评论
为什么被折叠?



