Spring Boot中使用Druid数据源的配置方式与后台监控配置

作者:谁偷走了我的奶酪2024.01.17 15:54浏览量:4

简介:本文将介绍如何在Spring Boot中配置Druid数据源,以及如何通过两种方式配置后台监控。我们将通过示例代码和详细步骤来演示如何进行这些配置,并解释其中的关键概念。

在Spring Boot中配置Druid数据源通常需要以下几个步骤:首先,添加相关的依赖;其次,配置数据源属性;最后,配置连接池参数。以下是详细步骤:
步骤1:添加依赖
在项目的pom.xml文件中添加Druid连接池和MySQL JDBC驱动的依赖。

  1. <dependencies>
  2. <dependency>
  3. <groupId>com.alibaba</groupId>
  4. <artifactId>druid-spring-boot-starter</artifactId>
  5. <version>1.1.10</version>
  6. </dependency>
  7. <dependency>
  8. <groupId>mysql</groupId>
  9. <artifactId>mysql-connector-java</artifactId>
  10. <version>8.0.23</version>
  11. </dependency>
  12. </dependencies>

步骤2:配置数据源属性
在application.properties或application.yml文件中配置数据源属性,如数据库URL、用户名、密码等。

  1. spring.datasource.url=jdbc:mysql://localhost:3306/test?useSSL=false
  2. spring.datasource.username=root
  3. spring.datasource.password=123456
  4. spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

步骤3:配置连接池参数
在application.properties或application.yml文件中配置Druid连接池参数,如最大连接数、最小连接数、空闲连接数等。

  1. druid.initialSize=5
  2. druid.minIdle=5
  3. druid.maxActive=20
  4. druid.maxWait=60000
  5. druid.timeBetweenEvictionRunsMillis=60000
  6. druid.minEvictableIdleTimeMillis=300000
  7. druid.validationQuery=SELECT 1
  8. druid.testWhileIdle=true
  9. druid.testOnBorrow=false
  10. druid.testOnReturn=false
  11. druid.poolPreparedStatements=true
  12. druid.maxPoolPreparedStatementPerConnectionSize=20

以上步骤完成后,就可以在Spring Boot项目中成功配置Druid数据源了。接下来我们将介绍如何配置Druid的后台监控。
方式一:自定义监控页面
步骤1:创建监控页面
创建一个简单的监控页面,可以使用HTML、CSS和JavaScript来制作。这个页面可以显示数据库连接池的状态信息,如当前连接数、最大连接数、空闲连接数等。
步骤2:配置Spring Boot Actuator
在项目的pom.xml文件中添加Spring Boot Actuator的依赖。这个依赖提供了许多用于监控和管理的端点。

  1. <dependency>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-actuator</artifactId>
  4. </dependency>

步骤3:配置监控端点
在application.properties或application.yml文件中配置监控端点,以启用自定义监控页面的访问。
```properties
management.endpoints.web.exposure.include=
management.endpoint.health.show-details=always
management.endpoint.druid.stats.enabled=true
management.endpoint.druid.stats.roles=ADMIN
management.endpoint.druid.stats.id=druid
management.endpoints.static-docs.path=/swagger-ui/*

documentation.swagger-ui/swagger-ui/index=/swagger-ui/index
documentation.swagger-ui/swagger-ui/springfox/swagger-ui/index=/swagger-ui/index
documentation.swagger-ui/swagger-ui/springfox/swagger-ui/assets/swagger-ui/index=/swagger-ui/index
documentation.swagger-ui/swagger-ui/springfox/swagger-ui/assets/swagger-ui/lib/editor/index=/swagger-ui/index
documentation.swagger-ui/swagger-ui/springfox/swagger