SpringBoot使用Druid连接池 + 配置监控页面(自定义版 + starter版)
以下是使用Spring Boot集成Druid数据库连接池和配置监控页面的示例代码。
自定义版:
- 添加Druid依赖到
pom.xml
:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.8</version>
</dependency>
- 在
application.yml
中配置Druid:
spring:
datasource:
druid:
url: jdbc:mysql://localhost:3306/yourdb
username: yourusername
password: yourpassword
driver-class-name: com.mysql.cj.jdbc.Driver
initial-size: 5
min-idle: 5
max-active: 20
max-wait: 60000
time-between-eviction-runs-millis: 60000
min-evictable-idle-time-millis: 300000
validation-query: SELECT 1 FROM DUAL
test-while-idle: true
test-on-borrow: false
test-on-return: false
pool-prepared-statements: true
max-pool-prepared-statement-per-connection-size: 20
filter:
stat:
log-slow-sql: true
slow-sql-millis: 1000
wall:
config:
multi-statement-allow: true
- 配置监控页面:
import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;
import com.alibaba.druid.wall.WallFilter;
import com.alibaba.druid.wall.spi.MySqlWallProvider;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import javax.sql.DataSource;
@Configuration
public class DruidConfig {
@ConfigurationProperties("spring.datasource.druid")
DruidDataSourceBuilder druidDataSourceBuilder() {
return DruidDataSourceBuilder.create();
}
@Bean
public DataSource dataSource() {
DruidDataSource druidDataSource = druidDataSourceBuilder()
.build();
// 配置Druid监控页面
druidDataSource.setFilters("stat,wall");
druidDataSource.setPoolPreparedStatements(false);
WallFilter wallFilter
评论已关闭