好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

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,就会显示登录页面,输入上面类配置的密码即可登录.

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

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

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

查看更多关于SpringBoot入门之集成Druid的方法示例的详细内容...

  阅读:40次