简介
Spring Boot 1.x 版本中,默认使用的数据库连接池为:Tomcat JDBC;到了 Spring Boot 2.x,也切换到了更高性能的 HikariCP 连接池。
不过上面这两个都不是今天的重点,下面介绍的是国内较为流行的 Druid ,一款为监控而生的数据库连接池,由阿里巴巴数据库事业部出品。Druid 连接池内置了强大的监控功能,该特性不影响性能。功能强大,能防止 SQL 注入,内置 Logging 能诊断 hack 应用行为。
早期使用 Druid 时候还得配合着 Spring 来使用,一堆的 XML 配置文件,那可真叫是非常的不便。好在,Spring Boot 的全面推广,使得 Web 开发显得越来越高效简单,各种自带的、第三方的 Starter 也随之而生,约定大于配置,这不仅仅是简化了开发人员的上手复杂度,更是让整个体系走向越来越自动化、智能化。
使用
Druid 官方同样提供了相应的 Spring Boot Starter ,旨在帮助开发者在 Spring Boot 项目中轻松集成 Druid 数据库连接池和监控。
- 加入依赖
<dependencies>
<!-- https://mvnrepository.com/artifact/com.alibaba/druid-spring-boot-starter -->
<!-- 引入 Druid , 排除 HikariCP -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.16</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<exclusions>
<exclusion>
<artifactId>HikariCP</artifactId>
<groupId>com.zaxxer</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
- 添加配置
spring:
jpa:
open-in-view: false
datasource:
druid:
##### JDBC 配置(内嵌数据库可省略)
# # 或spring.datasource.url=
# url:
# # 或spring.datasource.username=
# username:
# # 或spring.datasource.password=
# password:
# # 或spring.datasource.driver-class-name=
# driver-class-name:
##### 连接池配置
min-idle: 5
max-active: 5
max-wait: 5000
initial-size: 5
validation-query: "select 'x'"
test-while-idle: true
filters: conn,config,stat,wall,slf4j
##### 监控配置
web-stat-filter:
enabled: true
stat-view-servlet:
enabled: true
# http://localhost:8080/druid/login.html
login-username: admin
login-password: admin
- 启动 Application
访问 http://localhost:8080/druid/login.html ,输入登录用户名和密码 admin
,就可以查看 Druid 提供的所有监控功能。
更多资料可参考下方链接
Druid wiki
Druid Spring Boot Starter
文章已授权转载,原文链接:Spring Boot 使用 Druid 连接池