美文网首页服务器后端开发
Spring Boot 使用 Druid 连接池

Spring Boot 使用 Druid 连接池

作者: happyJared | 来源:发表于2019-04-16 11:48 被阅读274次

    简介

    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 提供的所有监控功能。

    Druid Monitor

    更多资料可参考下方链接

    Druid wiki
    Druid Spring Boot Starter

    示例源码
    欢迎关注我的个人公众号:超级码里奥
    如果这对您有帮助,欢迎点赞和分享,转载请注明出处

    相关文章

      网友评论

        本文标题:Spring Boot 使用 Druid 连接池

        本文链接:https://www.haomeiwen.com/subject/noevwqtx.html