springboot怎么配置druid控制台的监控信息怎么加密
时间: 2025-04-06 17:11:24 浏览: 28
### Spring Boot 中配置 Druid 控制台并实现监控信息加密
#### 1. 添加依赖
为了在 Spring Boot 项目中使用 Druid 数据源及其控制台功能,需先引入必要的 Maven 或 Gradle 依赖。
对于 Maven 用户:
```xml
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.8</version>
</dependency>
```
对于 Gradle 用户:
```gradle
implementation 'com.alibaba:druid-spring-boot-starter:1.2.8'
```
以上版本号可以根据实际需求调整[^4]。
---
#### 2. 配置 `application.yml` 文件
以下是完整的配置示例:
```yaml
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/test_db?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC
username: root
password: your_password_encrypted_here # 使用加密后的密码替换原始明文密码
# Druid 配置
druid:
stat-view-servlet:
enabled: true
url-pattern: /druid/*
login-username: admin # 登录用户名
login-password: admin # 登录密码(可设置复杂一些)
reset-enable: false # 是否允许重置数据源
filter:
stat:
log-slow-sql: true
slow-sql-millis: 5000
```
上述配置启用了 Druid 的统计视图 (`stat-view-servlet`) 并设置了登录凭证。同时,还开启了慢 SQL 日志记录功能,阈值设为 5 秒[^2]。
---
#### 3. 数据库密码加密
Druid 提供了工具类用于生成数据库密码的密文。具体操作如下:
##### 步骤一:运行命令生成密文
执行以下命令生成加密后的密码:
```bash
java -cp druid-1.2.8.jar com.alibaba.druid.filter.config.ConfigTools your_plain_text_password
```
将生成的密文填入 `application.yml` 文件中的 `password` 字段[^3]。
##### 步骤二:启用解密器
在项目的启动类上添加注解以启用密码自动解密功能:
```java
import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@DruidDataSourceAutoConfigure
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
```
此时,Druid 将会自动解析并解密配置文件中的密文密码。
---
#### 4. 启用 Web 和 Spring 关联监控
要开启内置的 Web 和 Spring 监控功能,需要额外配置过滤器和拦截器。
##### (1) 配置 WebStatFilter
编辑 `application.yml` 文件,增加以下内容:
```yaml
druid:
web-stat-filter:
enabled: true
url-pattern: /*
exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"
```
此部分定义了一个全局过滤器来捕获 HTTP 请求的相关统计数据,并排除静态资源请求[^1]。
##### (2) 配置 StatInterceptor
如果需要进一步跟踪业务逻辑层的操作,则可以通过 AOP 切面或者手动注册拦截器的方式完成。例如:
```java
import com.alibaba.druid.support.http.StatViewServlet;
import javax.servlet.annotation.WebInitParam;
import javax.servlet.annotation.WebServlet;
@WebServlet(urlPatterns = "/druid/*", initParams = {
@WebInitParam(name = "loginUsername", value = "admin"),
@WebInitParam(name = "loginPassword", value = "admin")})
public class CustomStatViewServlet extends StatViewServlet {}
```
这样即可自定义 Druid 控制台的行为。
---
#### 5. 测试与验证
启动应用程序后,访问地址 `/druid/index.html` 即可进入 Druid 控制台界面查看实时监控数据。确保输入正确的用户名和密码才能成功登录。
---
###
阅读全文
相关推荐


















