简介
Druid连接池是阿里巴巴开源的数据库连接池项目。Druid连接池为监控而生,内置强大的监控功能,监控特性不影响性能。功能强大,能防SQL注入,内置Loging能诊断Hack应用行为。
Github项目地址:https://github.com/alibaba/druid
使用
在 Spring Boot 中使用 Druid ,常用的方法有两种,一是添加 druid
依赖,然后配置相关参数;二是使用 Druid Spring Boot Starter
,这种方法比较简单,本文以这种方法为例。
1. 添加依赖
在 pom.xml
文件中添加 druid
的依赖包:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.17</version>
</dependency>
2. 添加配置
以下配置属性解释可查看 DruidDataSource配置属性列表。
- JDBC 配置
spring.datasource.druid.url=jdbc:mysql://127.0.0.1:3306/demo?useUnicode=true&characterEncoding=utf8
spring.datasource.druid.username=xxx
spring.datasource.druid.password=xxx
spring.datasource.druid.driver-class-name=com.mysql.cj.jdbc.Driver
- 连接池配置
spring.datasource.druid.initial-size=
# 最大连接池数量,默认为 8
spring.datasource.druid.max-active=
spring.datasource.druid.min-idle=
spring.datasource.druid.max-wait=
spring.datasource.druid.pool-prepared-statements=
spring.datasource.druid.max-pool-prepared-statement-per-connection-size=
spring.datasource.druid.max-open-prepared-statements=
# 验证连接是否可用,使用的SQL语句
spring.datasource.druid.validation-query=
spring.datasource.druid.validation-query-timeout=
spring.datasource.druid.test-on-borrow=
spring.datasource.druid.test-on-return=
# testWhileIdle = "true" 指明连接是否被空闲连接回收器(如果有)进行检验.如果检测失败,则连接将被从池中去除.
spring.datasource.druid.test-while-idle=
spring.datasource.druid.time-between-eviction-runs-millis=
spring.datasource.druid.min-evictable-idle-time-millis=
spring.datasource.druid.max-evictable-idle-time-millis=
spring.datasource.druid.filters= #配置多个英文逗号分隔
- 监控配置
# 登录用户名
spring.datasource.druid.stat-view-servlet.login-username=xxx
# 登录密码
spring.datasource.druid.stat-view-servlet.login-password=xxx
3. 运行测试
添加配置完成后,启动应用,使用浏览器访问: http://127.0.0.1:8080/druid/l...
在登录页面输入已配置好的用户名 spring.datasource.druid.stat-view-servlet.login-username
及密码 spring.datasource.druid.stat-view-servlet.login-password
,登录成功后进入到druid的监控页面:
至此,Spring Boot 整合 Druid 配置完成,更多的功能使用与配置请查看 官方文档。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。