如何在Spring Boot项目中集成Druid数据源?

360影视 2024-12-10 03:50 2

摘要:druid是目前使用比较多的一个高性能的数据库连接池,被广泛用于Spring Boot应用程序与数据库链接的常见中,提供了强大的SQL执行能力以及数据库链接管理操作,支持了对于数据操作的监控、数据库健康状态的检查等内容。下面我们我们就来详细的看看如何在Spri

druid是目前使用比较多的一个高性能的数据库连接池,被广泛用于Spring Boot应用程序与数据库链接的常见中,提供了强大的SQL执行能力以及数据库链接管理操作,支持了对于数据操作的监控、数据库健康状态的检查等内容。下面我们我们就来详细的看看如何在Spring Boot中集成Druid数据源。

首先,我们需要在POM中添加Druid的配置依赖,如下所示。

org.springframework.bootspring-boot-starter-jdbccom.alibabadruid1.2.8

接下来就是需要在Spring Boot的配置那文件中添加Druid数据源相关的配置内容,如下所示。

spring:datasource:url: jdbc:mysql://localhost:3306/your_db?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTCusername: rootpassword: root_passworddriver-class-name: com.mysql.cj.jdbc.Driver# Druid 连接池配置druid:initial-size: 5min-idle: 5max-active: 20max-wait: 60000time-between-eviction-runs-millis: 60000min-evictable-idle-time-millis: 300000validation-query: SELECT 1test-while-idle: truetest-on-borrow: falsetest-on-return: falsefilters: stat,log4j# 配置 Druid 监控相关web-stat-filter:enabled: trueurl-pattern: /druid/*exclusions: *.js,*.css,/druid/*stat-view-servlet:enabled: trueurl-pattern: /druid/*allow: 127.0.0.1login-username: adminlogin-password: admin

通过Spring Boot提供的@Configuration注解,我们可以手动的对Druid数据源进行配置,如下所示创建一个DruidDataSourceConfig的数据源配置类。

import javax.sql.DataSource;@Configurationpublic class DruidDataSourceConfig {@Bean@ConfigurationProperties(prefix = "spring.datasource.druid")public DataSource druidDataSource {return new DruidDataSource;}}

这里需要注意,需要定义一个@ConfigurationProperties注解注释的配置类来与上面的application.yml配置文件进行绑定,然后将这些配置绑定到DruidDataSource的配置中。

由于在配置文件中,我们添加了/druid/*的URL的配置,也就是说我们可以通过访问 http://localhost:8080/druid/来查看 Druid 的监控界面。在默认情况下,监控页面是需要设置用户名和默认的访问密码的,这个在上面的配置中,我们也通过,如下的配置进行配置。

login-username: adminlogin-password: admin

在Durid中,我们可以看到数据库的连接池状态,通过设置filters和stat-view-servlet配置来启用Druid的监控。

filters用来启用Druid 的过滤器,例如:stat(统计信息)和 log4j(日志输出)等。stat-view-servlet配置了Druid的Web监控界面,可以通过浏览器访问并查看数据库连接池的状态。

一般情况下比较常见的问题就是与spring.datasource.druid前缀的配置,需要通过@ConfigurationProperties(prefix = "spring.datasource.druid") 注解进行绑定。通过绑定的参数我们可以对Druid的性能进行调优,在实际使用场景中可以根据实际情况来对Druid链接池进行优化。

来源:从程序员到架构师

相关推荐