欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spring Boot(18)——使用Alibaba Druid DataSource

程序员文章站 2022-05-09 17:18:04
...

使用Alibaba Druid DataSource

DruidDataSource是Alibaba开源的一个数据库连接池,其GitHub地址是https://github.com/alibaba/druid。需要在Spring Boot应用中使用DruidDataSource,可以在pom.xml中加入如下依赖。1.1.10版本是目前最新的一个版本。

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.1.10</version>
</dependency>

之后可以使用标准的spring.datasource.*指定数据库连接信息。

spring.datasource.url=jdbc:mysql://localhost/test
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=elim

也可以使用spring.datasource.druid.*指定数据库连接信息,比如下面这样。

spring.datasource.druid.url=jdbc:mysql://localhost/test
spring.datasource.druid.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.druid.username=root
spring.datasource.druid.password=elim

如果需要配置DruidDataSource特定的配置信息,则只能使用spring.datasource.druid.*配置,比如进行如下这些信息的配置。

spring.datasource.druid.initial-size=5
spring.datasource.druid.max-active=20
spring.datasource.druid.min-idle=5
spring.datasource.druid.max-wait=10000
spring.datasource.druid.validation-query=select 1
spring.datasource.druid.validation-query-timeout=2
spring.datasource.druid.test-on-borrow=true
spring.datasource.druid.test-on-return=true
spring.datasource.druid.test-while-idle=true
spring.datasource.druid.filters= stat,wall

关于DruidDataSource常用的配置属性信息可以参考https://github.com/alibaba/druid/wiki/DruidDataSource%E9%85%8D%E7%BD%AE%E5%B1%9E%E6%80%A7%E5%88%97%E8%A1%A8。更详细的可配置信息请参考DruidDataSource的API文档或源码。

默认会自动配置StatFilter,如果需要禁用StatFilter,可以配置spring.datasource.druid.filter.stat.enabled=false。其它Filter的启动和禁用也是类似的配置,比如需要启动WallFilter,则可以配置spring.datasource.druid.filter.wall.enabled=true。更多Filter的配置信息可以参考com.alibaba.druid.spring.boot.autoconfigure.stat.DruidFilterConfiguration的源码。也可以通过spring.datasource.druid.filters= stat,wall这样的方式指定需要启动的Filter。

默认会注册StatViewServlet,默认的映射地址是/druid/*。通过访问/druid/index.html可以看到类似下面这样的监控页面。

Spring Boot(18)——使用Alibaba Druid DataSource
            
    
    博客分类: Spring Boot Spring BootDataSourceDruid数据源 

可以通过配置spring.datasource.druid.stat-view-servlet.enabled=false禁用自动注册StatViewServlet。可以通过spring.datasource.druid.stat-view-servlet.url-pattern=/druid2/*指定StatViewServlet的映射地址是/druid2/*

可以通过如下配置指定在访问监控页面时需要进行登录,且登录的用户是user,使用的密码是pass。

spring.datasource.druid.stat-view-servlet.login-username=user
spring.datasource.druid.stat-view-servlet.login-password=pass

默认会注册WebStatFilter,用来对Web进行监控统计,默认映射的路径是/*,并且不会对一些静态资源拦截。可以通过spring.datasource.druid.web-stat-filter.enabled=false来禁用该Filter。关于WebStatFilter的更多配置可以参考com.alibaba.druid.spring.boot.autoconfigure.stat.DruidWebStatFilterConfiguration

DruidDataSource的自动配置由com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure负责。

 

参考文档

https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter

(本文是基于Spring Boot 2.0.3所写)