服务器之家

服务器之家 > 正文

SpringBoot入门之集成Druid的方法示例

时间:2021-05-18 11:10     来源/作者:小崔的笔记本

druid:为监控而生的数据库连接池.这篇先了解下它的简单使用,下篇尝试用它做多数据源配置。

主要参考:https://github.com/alibaba/druid/wiki/

常见问题:https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter

一、引入依赖

这里看其他博客都是引用的druid,由于是使用springboot集成,这里参考druid官方文档,用的是druid-spring-boot-starter。

?
1
2
3
4
5
<dependency>
      <groupid>com.alibaba</groupid>
      <artifactid>druid-spring-boot-starter</artifactid>
      <version>1.1.10</version>
    </dependency>

二、设置属性

这里用的demo还是在上一博客基础上进行的修改,所以已经配置上了数据库连接和mybatis。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
spring.mvc.view.prefix=/view/
 
spring.mvc.view.suffix=.jsp
mybatis.type-aliases-package=com.example.model
mybatis.config-location=classpath:mybatis/mybatis-config.xml
mybatis.mapper-locations=classpath:mybatis/mapper/*.xml
 
#spring.datasource.driverclassname = com.mysql.cj.jdbc.driver
#spring.datasource.url = jdbc:mysql://localhost:3306/mybatis
spring.datasource.url =jdbc:mysql://127.0.0.1:3306/mybatis?useunicode=true&characterencoding=utf-8&servertimezone=utc
spring.datasource.username = root
spring.datasource.password = 123456
#spring.datasource.driver-class-name=com.mysql.cj.jdbc.driver
spring.datasource.type=com.alibaba.druid.pool.druiddatasource
 
 
spring.datasource.druid.max-active=20
 
spring.datasource.druid.initial-size=1
 
spring.datasource.druid.max-wait=60000
 
spring.datasource.druid.pool-prepared-statements=true
spring.datasource.druid.max-pool-prepared-statement-per-connection-size=20
spring.datasource.druid.connection-properties=druid.stat.mergesql=true;druid.stat.slowsqlmillis=5000
spring.datasource.druid.min-idle=1
spring.datasource.druid.time-between-eviction-runs-millis=60000
spring.datasource.druid.min-evictable-idle-time-millis=300000
spring.datasource.druid.validation-query=select 1 from dual
spring.datasource.druid.test-while-idle=true
spring.datasource.druid.test-on-borrow=true
spring.datasource.druid.test-on-return=true

这里配置与其他有的博客不太一样,spring.datasource后面多了个druid,属性名称也有一些变化。

三、配置连接池的监控和慢sql处理

这里只需要在启动类同级目录下增加一个class类配置即可。这里创建了druidconfiguration类,这里配置了webstatfilter配置和statviewservlet配置.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package com.example.demo;
 
import org.springframework.boot.web.servlet.filterregistrationbean;
import org.springframework.boot.web.servlet.servletregistrationbean;
import org.springframework.context.annotation.*;
 
import com.alibaba.druid.support.http.statviewservlet;
import com.alibaba.druid.support.http.webstatfilter;
 
@configuration
public class druidconfiguration {
 
  @bean
  public servletregistrationbean statviewservlet(){
    //创建servlet注册实体
    servletregistrationbean servletregistrationbean = new servletregistrationbean(new statviewservlet(),"/druid/*");
    //设置ip白名单
    servletregistrationbean.addinitparameter("allow","127.0.0.1");
    //设置ip黑名单,如果allow与deny共同存在时,deny优先于allow
    servletregistrationbean.addinitparameter("deny","192.168.0.19");
    //设置控制台管理用户
    servletregistrationbean.addinitparameter("loginusername","druid");
    servletregistrationbean.addinitparameter("loginpassword","123456");
    //是否可以重置数据
    servletregistrationbean.addinitparameter("resetenable","false");
    return servletregistrationbean;
  }
 
  @bean
  public filterregistrationbean statfilter(){
    //创建过滤器
    filterregistrationbean filterregistrationbean = new filterregistrationbean(new webstatfilter());
    //设置过滤器过滤路径
    filterregistrationbean.addurlpatterns("/*");
    //忽略过滤的形式
    filterregistrationbean.addinitparameter("exclusions","*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");
    return filterregistrationbean;
  }
}

四、测试

这里先启动应用,然后在浏览器输入http://127.0.0.1:8080/druid/index.html,就会显示登录页面,输入上面类配置的密码即可登录.

SpringBoot入门之集成Druid的方法示例

然后输入上一博客显示用户列表的url:http://localhost:8080/user/alluser.do,再看到druid页面,查看sql监控就会有刚才执行的sql信息,url监控和session监控也有对应的信息,由于这没配置spring监控所以spring监控的信息,对于spring监控会在以后补充,下一篇准备是使用druid配置多数据源。

SpringBoot入门之集成Druid的方法示例

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:http://www.cnblogs.com/5ishare/p/9332876.html

标签:

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
2021德云社封箱演出完整版 2021年德云社封箱演出在线看
2021德云社封箱演出完整版 2021年德云社封箱演出在线看 2021-03-15
返回顶部