Spring Boot 使用 Druid 连接池

简介

Spring Boot 1.x 版本中,默认使用的数据库连接池为:Tomcat JDBC;到了 Spring Boot 2.x,也切换到了更高性能的 HikariCP 连接池。

不过上面这两个都不是今天的重点,下面介绍的是国内较为流行的 Druid ,一款为监控而生的数据库连接池,由阿里巴巴数据库事业部出品。Druid 连接池内置了强大的监控功能,该特性不影响性能。功能强大,能防止 SQL 注入,内置 Logging 能诊断 hack 应用行为。

数据库连接池对比

早期使用 Druid 时候还得配合着 Spring 来使用,一堆的 XML 配置文件,那可真叫是非常的不便。好在,Spring Boot 的全面推广,使得 Web 开发显得越来越高效简单,各种自带的、第三方的 Starter 也随之而生,约定大于配置,这不仅仅是简化了开发人员的上手复杂度,更是让整个体系走向越来越自动化、智能化。

使用

Druid 官方同样提供了相应的 Spring Boot Starter ,旨在帮助开发者在 Spring Boot 项目中轻松集成 Druid 数据库连接池和监控。

  1. 加入依赖
    <dependencies>
        <!-- https://mvnrepository.com/artifact/com.alibaba/druid-spring-boot-starter -->
        <!-- 引入 Druid , 排除 HikariCP -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.16</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
            <exclusions>
                <exclusion>
                    <artifactId>HikariCP</artifactId>
                    <groupId>com.zaxxer</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
    </dependencies>
  1. 添加配置
spring:
  jpa:
    open-in-view: false
  datasource:
    druid:
      ##### JDBC 配置(内嵌数据库可省略)
      #      # 或spring.datasource.url=
      #      url:
      #      # 或spring.datasource.username=
      #      username:
      #      # 或spring.datasource.password=
      #      password:
      #      # 或spring.datasource.driver-class-name=
      #      driver-class-name:

      ##### 连接池配置
      min-idle: 5
      max-active: 5
      max-wait: 5000
      initial-size: 5
      validation-query: "select 'x'"
      test-while-idle: true
      filters: conn,config,stat,wall,slf4j

      ##### 监控配置
      web-stat-filter:
        enabled: true
      stat-view-servlet:
        enabled: true
        # http://localhost:8080/druid/login.html
        login-username: admin
        login-password: admin
  1. 启动 Application

访问 http://localhost:8080/druid/login.html ,输入登录用户名和密码 admin,就可以查看 Druid 提供的所有监控功能。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券