简介:本文将介绍如何在Spring Boot中配置Druid数据源,以及如何通过两种方式配置后台监控。我们将通过示例代码和详细步骤来演示如何进行这些配置,并解释其中的关键概念。
在Spring Boot中配置Druid数据源通常需要以下几个步骤:首先,添加相关的依赖;其次,配置数据源属性;最后,配置连接池参数。以下是详细步骤:
步骤1:添加依赖
在项目的pom.xml文件中添加Druid连接池和MySQL JDBC驱动的依赖。
<dependencies><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.1.10</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.23</version></dependency></dependencies>
步骤2:配置数据源属性
在application.properties或application.yml文件中配置数据源属性,如数据库URL、用户名、密码等。
spring.datasource.url=jdbc:mysql://localhost:3306/test?useSSL=falsespring.datasource.username=rootspring.datasource.password=123456spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
步骤3:配置连接池参数
在application.properties或application.yml文件中配置Druid连接池参数,如最大连接数、最小连接数、空闲连接数等。
druid.initialSize=5druid.minIdle=5druid.maxActive=20druid.maxWait=60000druid.timeBetweenEvictionRunsMillis=60000druid.minEvictableIdleTimeMillis=300000druid.validationQuery=SELECT 1druid.testWhileIdle=truedruid.testOnBorrow=falsedruid.testOnReturn=falsedruid.poolPreparedStatements=truedruid.maxPoolPreparedStatementPerConnectionSize=20
以上步骤完成后,就可以在Spring Boot项目中成功配置Druid数据源了。接下来我们将介绍如何配置Druid的后台监控。
方式一:自定义监控页面
步骤1:创建监控页面
创建一个简单的监控页面,可以使用HTML、CSS和JavaScript来制作。这个页面可以显示数据库连接池的状态信息,如当前连接数、最大连接数、空闲连接数等。
步骤2:配置Spring Boot Actuator
在项目的pom.xml文件中添加Spring Boot Actuator的依赖。这个依赖提供了许多用于监控和管理的端点。
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></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