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

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

    登录页

    首页

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值