alibaba Druid在springboot中的使用

  • Post author:
  • Post category:其他




1. Druid是什么

druid是一个数据库连接池,但比DBCP、c3pProxool0连接池要更好。内置强大的监控功能,监控特性不影响性能。能防SQL注入,内置 Logging能诊断Hack应用行为等等。



2.Druid的优点

  1. Druid提供的监控功能,可以清楚知道连接池和SQL的工作情况。

    转码自:

    https://www.iteye.com/magazines/90#111


    在这里插入图片描述

2.扩展JDBC

Druid提供了Filter-Chain模式的扩展API,可以自己编写Filter拦截JDBC中的任何方法。

可上面做任何事情,比如说性能监控、SQL审计、用户名密码加密、日志等等。



3.使用

两种方式:只讲解第二种方式

  • 自定应直接配置 DruidDataSource
  • 通过druid-spring-boot-starter 启动项,然后在application.yaml或application.properties中配置



步骤

1.导入依赖:

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.1.17</version>
</dependency>

2.application.yaml中配置

spring:
  datasource:
    druid: #数据库连接池。Druid是目前最好的数据库连接池,比BDCP,c3p0,BoneCP更好
      aop-patterns: com.example.*  #监控SpringBean
      filters: stat,wall     # 底层开启功能,stat(sql监控),wall(防火墙)

      stat-view-servlet: # 必须要 配置监控页功能  (只有 数据源、sql监控页面)
        enabled: true   # 开启
        login-username: admin    
        login-password: admin
        resetEnable: false

      web-stat-filter: # 监控web
        enabled: true   # 开启
        urlPattern: /*
        exclusions: '*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*'

      filter:
        stat: # 对上面filters里面的stat的详细配置
          slow-sql-millis: 1000   #定义慢sql的时长,1秒
          logSlowSql: true
          enabled: true 
        wall:
          enabled: true 
          config:
            drop-table-allow: false




分析:

stat-view-servlet :
	提供监控信息展示的html页面
	提供监控信息的JSON API

在这里插入图片描述

web-stat-filter:
	监控web配置
 filter:
        stat: # 对上面filters里面的stat的详细配置
          slow-sql-millis: 1000   #对数据库操作超过一秒的,记录
          logSlowSql: true
          enabled: true 

源码路径:

在这里插入图片描述



版权声明:本文为weixin_47356044原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。