drtrang / druid-spring-boot

Spring Boot Starter for Druid.
Apache License 2.0
313 stars 85 forks source link
druid spring-boot spring-boot-starter

Druid Spring Boot Starter

Build Status Coverage Status Maven Central GitHub Release License

Druid Spring Boot Starter 将帮助你在 Spring Boot 中使用 Druid。

依赖

<!-- spring boot 1.x -->
<dependency>
    <groupId>com.github.drtrang</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.1.10</version>
</dependency>
<dependency>
    <groupId>com.github.drtrang</groupId>
    <artifactId>druid-spring-boot-actuator-starter</artifactId>
    <version>1.1.10</version>
</dependency>

<!-- spring boot 2.x -->
<dependency>
    <groupId>com.github.drtrang</groupId>
    <artifactId>druid-spring-boot2-starter</artifactId>
    <version>1.1.10</version>
</dependency>
<dependency>
    <groupId>com.github.drtrang</groupId>
    <artifactId>druid-spring-boot2-actuator-starter</artifactId>
    <version>1.1.10</version>
</dependency>

意见征集

意见征集

NEW !

  1. 基于 Spring Boot 2 开发的全新 starter,与之前功能完全一致
  2. 改进多数据源的声明方式,由 Starter 自动发现配置并注册到 ApplicationContext,详情请查看 Druid 多数据源支持.md
  3. 新增全配置说明 druid.yml

配置

简单配置

在引入依赖的情况下,只需如下配置即可使用 Druid:

spring:
  datasource:
    url: jdbc:h2:mem:example
    username: root
    password: 123456

Druid 连接池

Druid Spring Boot Starter 会将以 spring.datasource.druid 为前缀的配置注入到 DruidDataSource,且 DruidDataSource 中的所有参数均可自定义。

spring:
  datasource:
    url: jdbc:h2:mem:example
    username: root
    password: 123456
    druid:
      max-wait: 30000
      query-timeout: 10
      validation-query: SELECT 1
      use-global-data-source-stat: true

Druid 高级特性

Druid Spring Boot Starter 添加了 Druid 的大部分特性,如 StatFilter、WallFilter、ConfigFilter、WebStatFilter 等,其中 StatFilter 默认打开,其它特性默认关闭,需要手动开启。

同样,每个特性的参数均可自定义,具体配置可以用 IDE 的自动提示功能或者阅读 Druid 的 Wiki 查看。

spring:
  datasource:
    druid:
      # 开启 StatFilter,默认开启,可通过 'enabled: false' 关闭
      stat:
        enabled: true
        log-slow-sql: true
        slow-sql-millis: 1000
      # 开启 Slf4jFilter
      slf4j:
        enabled: true
        data-source-log-enabled: false
        connection-log-enabled: false
        statement-log-enabled: false
        result-set-log-enabled: false
      # 开启 WallFilter
      wall:
        enabled: true
        log-violation: true
        throw-exception: false
        ## WallConfig 配置
        config:
          delete-where-none-check: true
      # 开启 ConfigFilter
      config:
        enabled: true
      # 开启 Web 监控
      web-stat:
        enabled: true
      # 开启 Aop 监控
      aop-stat:
        enabled: true
      # 开启监控页面
      stat-view-servlet:
        enabled: true

多数据源

1.1.2 版本改进了多数据源的声明方式,由 Starter 自动发现配置并注册到 ApplicationContext,详情请查看 Druid 多数据源支持.md

spring:
  datasource:
    druid:
      data-sources:
        master:
          url: jdbc:h2:file:./master
        slave:
          url: jdbc:h2:file:./slave

配置示例

application.yml

全配置说明

druid.yml

自动提示

Druid Spring Boot Starter 基于 spring-boot-configuration-processor 模块,支持 IDE 的自动提示。

自定义参数:
druid-configuration

参数说明: enabled

参数枚举值: db-type

演示

druid-spring-boot-example 中演示了 Druid Spring Boot Starter 的使用方式,可以作为参考。

Change Log

Release Notes

TODO

任何意见和建议可以提 ISSUE,我会酌情加到 TODO List,一般情况一周内迭代完毕。

About Me

QQ:349096849
Email:donghao.l@hotmail.com
Blog:Trang's Blog