MCPcopy Index your code
hub / github.com/drtrang/druid-spring-boot

github.com/drtrang/druid-spring-boot @v1.1.10

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.1.10 ↗ · + Follow
136 symbols 298 edges 38 files 53 documented · 39% updated 6y agov1.1.10 · 2018-05-28★ 3149 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Druid Spring Boot Starter

Build Status Coverage Status Maven Central GitHub Release License

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

依赖


<dependency>
    <groupId>com.github.drtrang</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.1.9.1</version>
</dependency>
<dependency>
    <groupId>com.github.drtrang</groupId>
    <artifactId>druid-spring-boot-actuator-starter</artifactId>
    <version>1.1.9.1</version>
</dependency>


<dependency>
    <groupId>com.github.drtrang</groupId>
    <artifactId>druid-spring-boot2-starter</artifactId>
    <version>1.1.9</version>
</dependency>
<dependency>
    <groupId>com.github.drtrang</groupId>
    <artifactId>druid-spring-boot2-actuator-starter</artifactId>
    <version>1.1.9</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

Extension points exported contracts — how you extend this code

DruidDataSourceCustomizer (Interface)
DruidDataSource 的回调接口,可以在 DruidDataSource 初始化之前对其进行自定义 @author trang
druid-spring-boot/druid-spring-boot-autoconfigure/src/main/java/com/github/trang/druid/autoconfigure/DruidDataSourceCustomizer.java
CityMapper (Interface)
CityMapper @author trang
druid-spring-boot-example/druid-spring-boot-mybatis-example/src/main/java/com/github/trang/druid/example/mybatis/mapper/CityMapper.java
CityRepository (Interface)
CityRepository @author trang
druid-spring-boot-example/druid-spring-boot-jpa-example/src/main/java/com/github/trang/druid/example/jpa/repository/CityRepository.java

Core symbols most depended-on inside this repo

getValidationQuery
called by 6
druid-spring-boot-actuator/druid-spring-boot-actuator-autoconfigure/src/main/java/com/github/trang/druid/actuate/DruidDataSourcePoolMetadata.java
findAll
called by 4
druid-spring-boot-example/druid-spring-boot-mybatis-example/src/main/java/com/github/trang/druid/example/mybatis/mapper/CityMapper.java
genericDruidBeanDefinition
called by 2
druid-spring-boot/druid-spring-boot-autoconfigure/src/main/java/com/github/trang/druid/autoconfigure/DruidDataSourceConfiguration.java
runScripts
called by 2
druid-spring-boot/druid-spring-boot-autoconfigure/src/main/java/com/github/trang/druid/autoconfigure/datasource/init/DruidDataSourceInitializer.java
getScripts
called by 2
druid-spring-boot/druid-spring-boot-autoconfigure/src/main/java/com/github/trang/druid/autoconfigure/datasource/init/DruidDataSourceInitializer.java
getResources
called by 2
druid-spring-boot/druid-spring-boot-autoconfigure/src/main/java/com/github/trang/druid/autoconfigure/datasource/init/DruidDataSourceInitializer.java
separatedToCamelCase
called by 2
druid-spring-boot/druid-spring-boot-autoconfigure/src/main/java/com/github/trang/druid/autoconfigure/util/CharMatcher.java
findById
called by 2
druid-spring-boot-example/druid-spring-boot-mybatis-example/src/main/java/com/github/trang/druid/example/mybatis/mapper/CityMapper.java

Shape

Method 86
Class 46
Interface 3
Enum 1

Languages

Java100%

Modules by API surface

druid-spring-boot/druid-spring-boot-autoconfigure/src/main/java/com/github/trang/druid/autoconfigure/DruidDataSourceConfiguration.java15 symbols
druid-spring-boot/druid-spring-boot-autoconfigure/src/main/java/com/github/trang/druid/autoconfigure/datasource/init/DruidDataSourceInitializer.java9 symbols
druid-spring-boot/druid-spring-boot-autoconfigure/src/main/java/com/github/trang/druid/autoconfigure/DruidAutoConfiguration.java9 symbols
druid-spring-boot/druid-spring-boot-autoconfigure/src/main/java/com/github/trang/druid/autoconfigure/util/CharMatcher.java7 symbols
druid-spring-boot/druid-spring-boot-autoconfigure/src/main/java/com/github/trang/druid/autoconfigure/DruidStatConfiguration.java7 symbols
druid-spring-boot/druid-spring-boot-autoconfigure/src/main/java/com/github/trang/druid/autoconfigure/properties/DruidDataSourceProperties.java6 symbols
druid-spring-boot-actuator/druid-spring-boot-actuator-autoconfigure/src/main/java/com/github/trang/druid/actuate/DruidDataSourcePoolMetadata.java6 symbols
druid-spring-boot/druid-spring-boot-autoconfigure/src/main/java/com/github/trang/druid/autoconfigure/datasource/AbstractDruidDataSource2.java5 symbols
druid-spring-boot-example/druid-spring-boot-mybatis-example/src/test/java/com/github/trang/druid/example/mybatis/test/coveralls/DynamicDataSourceTests.java5 symbols
druid-spring-boot-example/druid-spring-boot-jpa-example/src/test/java/com/github/trang/druid/example/jpa/test/coveralls/DynamicDataSourceTests.java5 symbols
druid-spring-boot-example/druid-spring-boot-mybatis-example/src/test/java/com/github/trang/druid/example/mybatis/test/coveralls/MyBatisTests.java3 symbols
druid-spring-boot-example/druid-spring-boot-mybatis-example/src/test/java/com/github/trang/druid/example/mybatis/test/coveralls/DruidTest.java3 symbols

For agents

$ claude mcp add druid-spring-boot \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page