时间:2021-05-20
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。
<dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.10</version> </dependency>二、设置属性
这里用的demo还是在上一博客基础上进行的修改,所以已经配置上了数据库连接和mybatis。
spring.mvc.view.prefix=/view/spring.mvc.view.suffix=.jspmybatis.type-aliases-package=com.example.modelmybatis.config-location=classpath:mybatis/mybatis-config.xmlmybatis.mapper-locations=classpath:mybatis/mapper/*.xml#spring.datasource.driverClassName = com.mysql.cj.jdbc.Driver#spring.datasource.url = jdbc:mysql://localhost:3306/mybatisspring.datasource.url =jdbc:mysql://127.0.0.1:3306/mybatis?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTCspring.datasource.username = rootspring.datasource.password = 123456#spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driverspring.datasource.type=com.alibaba.druid.pool.DruidDataSourcespring.datasource.druid.max-active=20spring.datasource.druid.initial-size=1spring.datasource.druid.max-wait=60000spring.datasource.druid.pool-prepared-statements=truespring.datasource.druid.max-pool-prepared-statement-per-connection-size=20spring.datasource.druid.connection-properties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000spring.datasource.druid.min-idle=1spring.datasource.druid.time-between-eviction-runs-millis=60000spring.datasource.druid.min-evictable-idle-time-millis=300000spring.datasource.druid.validation-query=select 1 from dualspring.datasource.druid.test-while-idle=truespring.datasource.druid.test-on-borrow=truespring.datasource.druid.test-on-return=true这里配置与其他有的博客不太一样,spring.datasource后面多了个druid,属性名称也有一些变化。
三、配置连接池的监控和慢sql处理
这里只需要在启动类同级目录下增加一个class类配置即可。这里创建了DruidConfiguration类,这里配置了WebStatFilter配置和StatViewServlet配置.
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;@Configurationpublic 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配置多数据源。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
SpringBoot集成MyBatis在集成MyBatis前,我们先配置一个druid数据源。SpringBoot集成druiddruid有很多个配置选项,使用
在开发项目中如果数据库选型为mysql,很大概率下连接池会使用druid这里介绍springboot集成duridspringboot:2.1.9druid:1
druid是阿里巴巴开源的数据库连接池,提供了优秀的对数据库操作的监控功能,本文要讲解一下springboot项目怎么集成druid。本文在基于jpa的项目下开
本文实例讲述了springboot配置DRUID数据源的方法。分享给大家供大家参考,具体如下:druid是阿里开源的数据库连接池。开发时整合druid数据源过程
1、基于springboot-1.4.0.RELEASE版本测试2、springBoot+hibernate+Druid+MySQL+servlet(jsp)不