SpringBoot配置Druid—starter

本文详细介绍Druid的配置步骤,包括数据源设置、监控页面、Web监控和Spring组件监控,并展示了如何查看和验证其在实际项目中的效果。

1:Druid

Druid 是一个 JDBC 组件库,包含数据库连接池、SQL Parser 等组件, 被大量业务和技术产品使用或集成,经历过最严苛线上业务场景考验,是你值得信赖的技术产品。(官方说法)
Druid在Github的首页
在这里插入图片描述

2:配置Druid

2.1:引入starter

<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.17</version>
        </dependency>

2.2:配置数据源

spring:
  datasource: 
    url: jdbc:mysql://localhost:3306/
    driver-class-name: com.mysql.jdbc.Driver
    username: 
    password:
    type: com.alibaba.druid.pool.DruidDataSource

    druid: 
      max-active: 10
      min-idle: 5
      initial-size: 3
      filters: stat,wall filters
      filter: 
        stat:  #
          slow-sql-millis: 1000  
          logSlowSql: true 
          enabled: true 
        wall: #WallFilter
          enabled: true 
          config: 
            drop-table-allow: false 
  1. 如果在dataSource下直接配置
    max-active(最多连接数),initial-size(初始化连接数)这些信息,可能会没有提示,且不会生效,需要在druid下进行配置。
  2. 更多druid属性配置可以在DruidAbstractDataSource/DruidDataSource 类中寻找。
  3. filters可以组合配置,<property name="filters" value="stat,log4j" />
  4. 常用的stat(sql监控),wall(防火墙)等Filter在DruidFilterConfiguration中寻找。
  5. StatFilter别名stat,WallFilter别名wall,Log4j2Filter别名log4j,ConfigFilter别名config…
  6. 更多Filter配置信息可在对应的XXXFilter类寻找,WallFilter存在WallConfig配置类,里面定义很多sql防御属性
    在这里插入图片描述

2.3:监控页StatViewServlet

Druid内置提供了一个StatViewServlet用于展示Druid的统计信息。

stat-view-servlet: #监控页
        login-username: 
        login-password: 
        enabled: true
        resetEnable: false 

监控页在DruidStatViewServletConfiguration->DruidStatProperties->StatViewServlet下可以查看更多属性配置:
在这里插入图片描述

2.4:Web监控WebStatFilter

WebStatFilter用于采集web-jdbc关联监控的数据。

web-stat-filter: 
        enabled: true 
        url-pattern: /* 
        exclusions: '*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*'  

Web监控在DruidWebStatFilterConfiguration->DruidStatProperties->WebStatFilter下面查看更多属性配置:
在这里插入图片描述

2.5:Spring组件监控

private String[] aopPatterns监控Spring的组件:

aop-patterns: 具体监控的包 #监控组件

3:查看Druid效果

3.1:输入/druid即可跳转到监控页

localhost:8080

3.2:登录到监控页

输入在监控页配置的用户名,密码
在这里插入图片描述

3.3:查看监控效果

在这里插入图片描述
3.3.1:数据源
数据源和配置的数据一致:
在这里插入图片描述3.3.2:Sql监控
在这里插入图片描述
3.3.3:Sql防火墙
在这里插入图片描述
3.3.4:Web监控
在这里插入图片描述
3.3.5:URL监控
在这里插入图片描述

3.3.6:Session监控
在这里插入图片描述
3.3.7:Spring组件监控
在这里插入图片描述

4:Druid官方配置

官方配置连接:
在这里插入图片描述
搜索需要配置的组件即可。

<think>好的,我现在需要帮助用户解决在Spring Boot项目中配置Druid监控的问题。首先,我得回忆一下DruidSpring Boot中的配置步骤和相关注意事项。用户提到了引用内容,我需要结合这些引用来组织答案。 首先,引用[1]提到要添加druid-spring-boot-starter依赖,这是基础。所以第一步应该是添加依赖到pom.xml。用户可能不知道具体依赖名称,需要给出正确的groupId和artifactId。 接下来,引用[3]提到了配置属性和监控功能。Druid的监控通常需要配置一些参数,比如初始化大小、最大连接数等,这些应该在application.yml或application.properties中设置。同时,监控页面需要开启,可能需要配置statViewServlet和webStatFilter。这里需要注意配置项的格式是否正确,比如url-pattern和allow等参数。 然后,用户可能遇到配置不生效的问题,比如引用[2]中提到自定义数据源不生效,这可能是因为配置项的位置不对或者缺少必要的注解。需要提醒用户在配置时确保属性前缀正确,并且启用监控功能的相关配置。 另外,监控页面访问需要安全设置,比如登录账号和密码,这些也需要在配置中体现。同时,可能需要排除一些静态资源的拦截,配置exclusions。 最后,测试步骤也很重要,用户需要知道如何验证配置是否成功,比如查看日志中的初始化信息,访问监控页面,检查数据源状态等。引用[3]中的日志示例可以说明成功的情况,所以应该包含在回答中。 可能的问题点包括依赖未正确添加、配置项错误、监控Servlet未配置等。需要确保每一步都详细说明,避免用户遗漏关键步骤。同时,生成的相关问题要围绕常见配置问题、优化和安全设置展开,帮助用户进一步了解。</think>### Spring BootDruid监控配置步骤 #### 1. 添加依赖 在`pom.xml`中添加Druid官方提供的Spring Boot Starter依赖: ```xml <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.2.16</version> <!-- 使用最新版本 --> </dependency> ``` 此依赖包含连接池核心功能与监控组件[^1]。 #### 2. 配置数据源 在`application.yml`中配置基础参数与监控参数: ```yaml spring: datasource: type: com.alibaba.druid.pool.DruidDataSource url: jdbc:mysql://localhost:3306/test username: root password: root druid: # 连接池核心配置 initial-size: 5 min-idle: 5 max-active: 20 # 监控配置 stat-view-servlet: enabled: true # 开启监控页面 url-pattern: /druid/* login-username: admin login-password: admin web-stat-filter: enabled: true url-pattern: /* exclusions: "*.js,*.gif,*.jpg,/druid/*" filters: stat,wall # 启用统计和防火墙功能 ``` 配置完成后可通过`http://localhost:8080/druid`访问监控页面[^3]。 #### 3. 验证配置 检查启动日志确认初始化状态: ``` 2023-07-20 14:30:45 INFO [main] c.a.d.s.b.a.DruidDataSourceAutoConfigure Init DruidDataSource 2023-07-20 14:30:45 INFO [main] com.alibaba.druid.pool.DruidDataSource {dataSource-1} inited ``` 若日志出现上述信息表示配置成功。 #### 4. 高级配置项 ```yaml spring: datasource: druid: # 连接泄露检测 remove-abandoned: true remove-abandoned-timeout: 180 # SQL防火墙 wall: config: delete-allow: false ``` ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值