本文主要内容为在Spring Boot中配置Druid数据库连接池,并使用Druid部分特性
Druid是阿里巴巴开源的一款优秀的连接池,能够提供强大的监控和扩展功能,现在很多项目中都用到。下面将介绍如何在Spring Boot中配置并使用该连接池。
版本
- Spring Boot: 2.1.3
- Druid: 1.1.4
- maven:3.6.0
maven引入
Druid提供了spring-boot-srarter用来快速配置Druid
1 2 3 4 5
| <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.14</version> </dependency>
|
配置application.yml
在application.properties或application.yml中配置相关属性,这里我用的是yml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| spring: datasource: druid: url: jdbc:mysql://127.0.0.1:3306/demo?characterEncoding=utf8 username: password: initial-size: 1 min-idle: 1 max-active: 20 max-wait: 60000 time-between-eviction-runs-millis: 60000 min-evictable-idle-time-millis: 300000 validation-query: SELECT 'x' test-while-idle: true test-on-borrow: false test-on-return: false pool-prepared-statements: false max-pool-prepared-statement-per-connection-size: 20 filters: stat,config
connectionProperties: config.decrypt=true;config.decrypt.key=公钥的值
stat-view-servlet: enabled: true url-pattern: /druid/* reset-enable: true login-username: druid login-password: druid allow: 127.0.0.1 deny:
|
如何配置多数据源
- 添加配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| spring: datasource: url: username: password:
... druid: initial-size: 1 max-active: 5 ...
... one: max-active: 10 max-wait: 10000 ...
... two: max-active: 20 max-wait: 20000 ...
|
强烈注意:Spring Boot 2.X 版本不再支持配置继承,多数据源的话每个数据源的所有配置都需要单独配置,否则配置不会生效
- 创建数据源
1 2 3 4 5 6 7 8 9 10 11
| @Primary @Bean @ConfigurationProperties("spring.datasource.druid.one") public DataSource dataSourceOne(){ return DruidDataSourceBuilder.create().build(); } @Bean @ConfigurationProperties("spring.datasource.druid.two") public DataSource dataSourceTwo(){ return DruidDataSourceBuilder.create().build(); }
|
使用
访问http://localhost:8080/druid
进入登录页面,输入在stat-view-servlet:中配置的login-username,login-password
进入监控页面
参考