SpringBoot配置Druid数据库连接池
SpringBoot配置Druid数据库连接池
1.⾸先导⼊Druid的开发依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.10</version>
</dependency>
2.在springboot的配置⽂件中application中书写配置⽂件指定数据库连接池的类型为Druid。配置⽂件如下:
spring:
datasource:
username: root
password: root
url: jdbc:mysql://10.6.252.47:3306/jdbc
driver-class-name: sql.jdbc.Driver
type: com.alibaba.druid.pool.DruidDataSource
主要是type的参数;
3.由于Druid有⼀下参数可以配置,接下⾥我们要将配置参数设置到Druid的数据库连接池中。
1). 创建⼀个配置⽂件;将容器中注⼊⼀个DruidDataSource的⼀个数据源并读取前缀为spring.datasource的配置⽂件中的内容代码如下:
@Configuration
public class DruidConfig {
@ConfigurationProperties(prefix = "spring.datasource")
@Bean
public DataSource druid() {
return new DruidDataSource();
}
}
2). 在配置⽂件中书写对应Druid的参数配置:
spring:
datasource:
username: root
password: root
url: jdbc:mysql://10.6.252.47:3306/jdbc
driver-class-name: sql.jdbc.Driver
type: com.alibaba.druid.pool.DruidDataSource
# # 数据源其他配置
initialSize: 5
minIdle: 5
maxActive: 20
maxWait: 60000
timeBetweenEvictionRunsMillis: 60000
minEvictableIdleTimeMillis: 300000
minEvictableIdleTimeMillis: 300000
validationQuery: SELECT 1 FROM DUAL
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
poolPreparedStatements: true
# 配置监控统计拦截的filters,去掉后监控界⾯sql⽆法统计,'wall'⽤于防⽕墙
filters: stat,wall
maxPoolPreparedStatementPerConnectionSize: 20
useGlobalDataSourceStat: true
connectionProperties: Sql=true;druid.stat.slowSqlMillis=500
这样数据库连接池中的参数就设置完成了。
配置Durid的监控:
1. 配置⼀个管理后台的Servlet,SpringBoot配置Servlet的⽅式如下:
@Bean
public ServletRegistrationBean statViewServlet() {
ServletRegistrationBean bean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*"); Map<String, String> initParams = new HashMap<>();
initParams.put("loginUsername", "admin");
initParams.put("loginPassword", "123456");
bean.setInitParameters(initParams);
return bean;
}
2.配置⼀个监控Filter:
@Bean
druid连接池配置详解
public FilterRegistrationBean webStatFilter() {
FilterRegistrationBean bean = new FilterRegistrationBean();
bean.setFilter(new WebStatFilter());
Map<String, String> initParams = new HashMap<>();
initParams.put("exclusions", "*.js,*.css,/druid/*");
bean.setInitParameters(initParams);
bean.setUrlPatterns(Arrays.asList("/*"));
return bean;
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论