1.pom.xml文件引入依赖
<!--Druid关系型数据库连接池-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.10</version>
</dependency>
2.application.yml加入druid配置
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
druid:
url: jdbc:mysql://localhost:3306/user_db?useSSL=false&allowPublicKeyRetrieval=true
username: user
password: user
driver-class-name: com.mysql.jdbc.Driver
#初始化大小
initial-size: 5
max-active: 100
min-idle: 5
#获取连接等待超时时间
max-wait: 60000
#配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
time-between-eviction-runs-millis: 60000
#配置一个连接在池中的最小生存时间,单位是毫秒
min-evictable-idle-time-millis: 300000
validation-query: SELECT 1 FROM DUAL
validation-query-timeout: 60000
#建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,
#如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效
test-while-idle: true
#申请连接时检测连接是否有效
test-on-borrow: false
#归还连接时检测连接是否有效
test-on-return: false
#打开PSCache,并且指定每个连接上的PSCache大小
pool-prepared-statements: true
max-pool-prepared-statement-per-connection-size: 20
filter:
#配置StatFilter
stat:
db-type: mysql
log-slow-sql: true
slow-sql-millis: 5000
#配置WallFilter
wall:
enabled: true
db-type: mysql
config:
delete-allow: false
drop-table-allow: false
3.新增DruidConfig
@Configuration
@ConditionalOnClass(com.alibaba.druid.pool.DruidDataSource.class)
@ConditionalOnProperty(name = "spring.datasource.type", havingValue = "com.alibaba.druid.pool.DruidDataSource", matchIfMissing = true)
public class DruidConfig {
@Bean
@ConfigurationProperties("spring.datasource.druid")
public DataSource dataSourceOne(){
return DruidDataSourceBuilder.create().build();
}
@Bean
public ServletRegistrationBean statViewServle(){
ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(
new StatViewServlet(),"/druid/*");
// IP白名单
servletRegistrationBean.addInitParameter("allow","127.0.0.1");
// IP黑名单
servletRegistrationBean.addInitParameter("deny","192.168.1.100");
// 控制台管理用户
servletRegistrationBean.addInitParameter("loginUsername","druid");
servletRegistrationBean.addInitParameter("loginPassword","druid123");
// 是否能够重置数据
servletRegistrationBean.addInitParameter("resetEnable","false");
return servletRegistrationBean;
}
@Bean
public FilterRegistrationBean statFilter(){
FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new WebStatFilter());
filterRegistrationBean.setFilter(new WebStatFilter());
// 添加过滤规则
filterRegistrationBean.addUrlPatterns("/*");
// 忽略过滤的格式
filterRegistrationBean.addInitParameter("exclusions","*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");
return filterRegistrationBean;
}
}
4.启动项目访问 http://localhost:8810/druid/index.html
输入用户名/密码 : druid/druid123,登录查看