使用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.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所写)
相关推荐
在 Spring Boot 项目中使用 DruidDataSource,可以在业务逻辑中注入 DruidDataSource 实例: ```java @Service public class MyService { @Autowired private DataSource dataSource; public void doSomething...
type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC username: root password: your_...
在本篇【从零开始学Spring Boot】系列中,我们将探讨如何在Spring Boot项目中使用Druid数据源进行编程注入。Druid是一个优秀的数据库连接池,它提供了强大的监控和扩展功能,是许多企业级应用首选的数据源解决方案。...
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring.datasource.druid.initial-size=5 spring.datasource.druid.min-idle=5 spring.datasource.druid.max-active=20 spring.datasource.druid....
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource ``` 3. 可以自定义Druid的配置,例如设置最大连接数、最小连接数等: ``` spring.datasource.druid.max-active=20 spring.datasource.druid.min-...
type: com.alibaba.druid.pool.DruidDataSource url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8 username: root password: root initial-size: 5 min-idle: 5 max-active: ...
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring.datasource.druid.initial-size=5 spring.datasource.druid.min-idle=5 spring.datasource.druid.max-active=20 spring.datasource.druid....
项目背景: 1. Springboot项目 2. 一个主数据源,数据名称库不变。 3. 一个副数据源,数据库名称每天都在变,比如今天1号,是db_01; 明天2号,是db_02。 4.不重启项目切换数据源。 5.项目介绍: ...
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring.datasource.druid.url=jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC spring.datasource.druid.username=root spring....
type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC username: root password: password ...
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring.datasource.druid.initial-size=5 spring.datasource.druid.min-idle=5 spring.datasource.druid.max-active=20 spring.datasource.druid....
DruidDataSource druidDataSource = new DruidDataSource(); druidDataSource.setUrl(url); druidDataSource.setUsername(username); druidDataSource.setPassword(password); try { // 开启 Druid SQL 防火墙...
在IT行业中,Spring Boot、MyBatis和Druid都是非常重要的技术组件,它们分别在微服务开发、数据库操作和数据库连接池管理方面发挥着关键作用。这篇内容将深入讲解如何在Spring Boot项目中整合MyBatis和Druid,并实现...
示例中使用的是Spring Boot 2.3.5.RELEASE版本,以及一些常用的依赖,如MyBatis Plus、Druid连接池等。 ```xml <groupId>org.springframework.boot <artifactId>spring-boot-starter-web <groupId>...
type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC username: root password: password ...
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring.datasource.url=jdbc:mysql://localhost:3306/test?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=true spring....
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init"> <!-- 初始化连接大小 --> <!-- 连接池最大使用连接数量 --> <!-- 连接池最小空闲 --> <!-- 获取...
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring.datasource.druid.initial-size=5 spring.datasource.druid.min-idle=5 spring.datasource.druid.max-active=20 ``` 3. **自定义配置类**:...
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring.datasource.druid.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8 spring.datasource.druid.username=root ...