美文网首页
05.`SpringBoot` 集成`druid`连接池

05.`SpringBoot` 集成`druid`连接池

作者: 风安峻_ | 来源:发表于2020-09-06 14:12 被阅读0次
    1. 核心依赖
    1. 依赖

      <dependencies>
          <!-- mysql -->
          <dependency>
              <groupId>mysql</groupId>
              <artifactId>mysql-connector-java</artifactId>
          </dependency>
         
          <!-- druid-starter -->
          <dependency>
              <groupId>com.alibaba</groupId>
              <artifactId>druid-spring-boot-starter</artifactId>
              <version>1.1.21</version>
          </dependency>
      </dependencies>
      
    2. 说明

      1. starter就导starter
      2. mysql已经集成进了spring boot
    2. 配置文件
    1. application.yml主配置文件

      spring:
        profiles:
          # 注册配置文件
          active: dev,druid
      
      server:
        # 端口号
        port: 8080
        servlet:
          # 访问路径
          context-path: /api/v1
      
    2. application-dev.yml

      spring:
        datasource:
          url: jdbc:mysql://127.0.0.1:3306/db_test?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
          username: root
          password: password
      
    3. application-druid.yml

      spring:
        datasource:
          # 指定连接的实现类
          type: com.alibaba.druid.pool.DruidDataSource
          # druid相关的配置
          druid:
            # 初始化连接大小
            initial-size: 5
            # 最大连接池数量
            max-active: 20
            # 最小连接池数量
            min-idle: 3
            # 配置获取连接等待超时的时间 单位毫秒
            max-wait: 60000
            # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
            time-between-eviction-runs-millis: 60000
            # 配置一个连接在池中最小生存的时间,单位是毫秒
            min-evictable-idle-time-millis: 300000
            # 测试连接
            validation-query: select
            # 申请连接的时候检测,建议配置为true,不影响性能,并且保证安全性
            test-while-idle: true
            # 获取连接时执行检测,建议关闭,影响性能
            test-on-borrow: false
            # 归还连接时执行检测,建议关闭,影响性能
            test-on-return: false
            # 打开PSCache,并且指定每个连接上PSCache的大小
            pool-prepared-statements: true
            # 配置监控统计拦截器 防火墙 日志配置
            #     stat:监控数据库性能
            #     wall:用于防火墙
            #     日志:slf4j、logback
            #     log4j:用于单体应用,微服务可能阻塞线程
            #     log4j2
            # 配置多个用英文逗号分隔
            filters: stat,wall,slf4j
      
            max-pool-prepared-statement-per-connection-size: 20
            # 合并多个 DruidDataSource 的监控数据
            use-global-data-source-stat: true
            # 通过connectProperties属性来打开mergeSql功能;慢SQL记录 SQL优化
            connect-properties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500
            # ===========监控配置===========
            # WebStatFilter配置,说明请参考Druid Wiki,配置_配置WebStatFilter
            web-stat-filter:
              #是否启用StatFilter默认值false
              enabled: true
              # 拦截所有的
              url-pattern: /*
              # 排除一些不必要的url,比如*:js,/jslib/*等等:
              exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico, /druid/*"
              # 关闭和开启 session 统计功能,默认关闭
              # session-stat-enable: true
              # sessionStatMaxCount是1000个
              # session-stat-max-count: 1000
              # 配置principalSessionName,使得druid能够知道当前的session的用户是谁
              # principal-session-name:
              # StatViewServlet配置,说明请参考Druid Wiki,配置_StatViewServlet配置
            stat-view-servlet:
              # 是否启用StatViewServlet,默认值true
              enabled: true
              url-pattern: /druid/*
              # 界面上有一个重置功能执行这个操作之后,会导致所有计数器清零,重新计数建议 false
              reset-enable: false
              # 登录的后台的用户名,密码
              login-username: admin
              login-password: admin
              # 访问控制,可以配置allow和deny这两个参数
              # 配置格式 ip 或者 ip/子网掩码(24) 例如 192.168.2.112 ,192.168.2.112/24
              # 注意 由于匹配规则不支持IPV6,配置了allow或者deny之后,会导致IPV6无法访问。
              # allow:
              # deny:
      
    3. 监控
    1. 所有的配置

      • 如果是本机,那么 ip:127.0.0.1localhost
      • 端口号application.yml设置为了8080
      • application.yml设置了context-path访问路径为/api/v1
      • application-druid.yml设置了login-usernamelogin-password,那么将会用这两个设置的值作为账号密码进行登录
    2. 访问路径:localhost:8080/api/v1/druid

      登录页 首页

    相关文章

      网友评论

          本文标题:05.`SpringBoot` 集成`druid`连接池

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