- 首先,在pom文件中,引入druid的依赖,然后在properties中配置数据库连接池 druid的配置,这个直接复制就行,放在下面了。
-
* #数据库连接池 druid配置
#数据库类型为mysql
spring.datasource.dbType=mysql
#启动时初始化5个连接
spring.datasource.initialSize=20
#最小空闲连接5个
spring.datasource.minIdle=5
#最大连接数量20
spring.datasource.maxActive=20
#获取连接等待时间60秒,超出报错
spring.datasource.maxWait=60000
#每60秒执行一次连接回收器
spring.datasource.timeBetweenEvictionRunsMillis=60000
#5分钟内没有任何操作的空闲连接会被回收
spring.datasource.minEvictableIdleTimeMillis=300000
#验证连接有效性的SQL
spring.datasource.validationQuery=select ‘x’
#空闲时校验,建议开启
spring.datasource.testWhileIdle=true
#使用中是否校验有效性,推荐关闭
spring.datasource.testOnBorrow=false
#归还连接时校验有效性,推荐关闭
spring.datasource.testOnReturn=false
spring.datasource.poolPreparedStatements=false
#设置过滤器,stat用于接收状态,wall用于防止SQL注入,logback则说明使用logback日志输出
spring.datasource.filters=stat,wall,logback
#统计所有数据源状态
spring.datasource.useGlobalDataSourceStat=true
#sql合并统计,与设置慢SQL时间为500毫秒
spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500
-
druid配置完就可以在启动类中初始化
DruidDataSource对象,注册后台界面,设置拦截器了,这些方法都可以直接复制粘贴使用。@Bean //手动初始化DruidDataSource对象
@ConfigurationProperties(prefix = “spring.datasource”) //将前缀是spring.datasource的配置注入到方法上
public DataSource druid(){
DruidDataSource ds=new DruidDataSource();
return ds;
}
//注册后台就饿面Servlet Bean,用于显示后台界面
@Bean
public ServletRegistrationBean statViewServlet(){
//创建statViewServlet,绑定到druid路径下
//开启后,访问localhost/druid就可以看到druid管理后台
ServletRegistrationBean bean=new ServletRegistrationBean(new StatViewServlet(),"/druid/");
Map<String ,String > param=new HashMap<>();
param.put(“loginUsername”,“admin”);
param.put(“loginPassword”,“123456”);
param.put(“allow”,""); //那些IP允许访问后台"“代表所有地址
param.put(“deny”,“33.31.51.88”); //不允许这个IP访问
bean.setInitParameters(param);
return bean;
}
//用于监听获取应用的数据,Filter用于收集数据,Servlet用于展现数据
@Bean
public FilterRegistrationBean webStatFilter(){
FilterRegistrationBean bean=new FilterRegistrationBean();
bean.setFilter(new WebStatFilter()); //设置过滤器
bean.addUrlPatterns(”/"); //对所有请求进行过滤和捕捉
Map<String ,String > param=new HashMap<>();
//排除静态资源
param.put(“exclusions”,".png,.woff,.jpg,.js,.css,/druid/");
bean.setInitParameters(param);
return bean;
}
*
-
*前面的准备都完成后,就可以使用浏览器测试了,输入druid,进入登录界面,使用我们初始化时定义的登录名和密码,登录后到后台就可以看到,监控了,那么我们的连接池到底生效没有呢? - 我们打开navicat,查看服务器监控,可以看到没有启动程序的时候,只有四个连接,启动项目后多了5个连接,然后我们将初始化连接数改为20,可以看到连接池中多出了20个连接。
-
若有错误,或不足,欢迎指正。