Spring boot 集成 Druid 数据源过程详解

下面是详细讲解“Spring Boot 集成 Druid 数据源过程详解”的攻略,包含两条示例:

1. 简介

Druid 作为一个高效且能够监控 SQL 执行的JDBC 连接池,被广泛应用于Java Web 开发中。在 Spring Boot 项目中,集成 Druid 数据源也是一个常见的需求。本文将会给出一份关于如何在 Spring Boot 中集成 Druid 数据源的详细攻略。

2. 添加依赖

在项目的 pom.xml 文件中添加如下依赖:

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

druid-spring-boot-starter 类库是 Druid 官方提供的用于在 Spring Boot 中集成 Druid 数据源的启动器类库,通过添加该依赖来实现 Druid 数据源的快速集成。

3. 配置数据源

在 Spring Boot 项目中,所有的配置都在 application.properties 或者 application.yml 文件中进行配置。下面是一个数据源相关的配置文件的示例:

application.yml 中配置:

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC
    username: root
    password: 123456
    driver-class-name: com.mysql.cj.jdbc.Driver

    # Druid 数据源相关配置
    type: com.alibaba.druid.pool.DruidDataSource
    maxActive: 10
    initialSize: 5
    maxWait: 60000
    minIdle: 1
    timeBetweenEvictionRunsMillis: 60000
    minEvictableIdleTimeMillis: 300000
    validationQuery: SELECT 1 FROM DUAL
    testWhileIdle: true
    testOnBorrow: false
    testOnReturn: false
    poolPreparedStatements: true
    maxPoolPreparedStatementPerConnectionSize: 20

application.properties 中配置:

spring.datasource.url=jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

# Druid 数据源相关配置
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.max-active=10
spring.datasource.initial-size=5
spring.datasource.max-wait=60000
spring.datasource.min-idle=1
spring.datasource.time-between-eviction-runs-millis=60000
spring.datasource.min-evictable-idle-time-millis=300000
spring.datasource.validation-query=SELECT 1 FROM DUAL
spring.datasource.test-while-idle=true
spring.datasource.test-on-borrow=false
spring.datasource.test-on-return=false
spring.datasource.pool-prepared-statements=true
spring.datasource.max-pool-prepared-statement-per-connection-size=20

在配置文件中,我们指定了要使用的数据库连接、datasource 类型(DruidDataSource)以及连接池的各项参数。

4. 注入数据源

完成数据源的配置之后,我们即可在代码中使用该数据源。对于 Spring Boot 项目,我们通常使用 javax.sql.DataSource 代表数据源。 在 Spring Boot 项目中,使用 @Autowired 注解即可注入 Druid 数据源:

@Autowired
private DataSource dataSource;

在上述代码中,变量 dataSource 即为注入的 Druid 数据源。

5. 示例

示例一:查询学生表中的数据

在该示例中,我们将构建一个 Spring Boot 项目,实现查询学生表中的数据。通过以下步骤来完成该示例:

  1. 创建一个名为 students 的数据库,并创建一个名为 student 的表,其中包含 idname 两个字段。

  2. 编写以下代码:

@RestController
@RequestMapping("/students")
public class StudentController {

    @Autowired
    private DataSource dataSource;

    @GetMapping
    public List<String> getStudents() throws SQLException {
        List<String> students = new ArrayList<>();
        Connection connection = dataSource.getConnection();
        Statement statement = connection.createStatement();
        ResultSet rs = statement.executeQuery("SELECT * FROM student");
        while (rs.next()) {
            students.add(rs.getString("name"));
        }
        return students;
    }
}
  1. 启动应用程序,访问 http://localhost:8080/students 即可查看学生表中的数据。

示例二:监控应用程序中的 SQL 执行情况

Druid 连接池除了具有高效以外,还提供了强大的监控功能。在该示例中,我们将展示如何在应用程序中启用该监控功能。

  1. 进入项目的配置文件(application.ymlapplication.properties),添加以下配置:
# Druid 监控配置
spring:
  datasource:
    druid:
      stat-view-servlet:
        enabled: true
        url-pattern: /druid/*
      filter:
        stat:
          enabled: true
          exclusions: /static/*,*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*
  1. 启动应用程序,并访问 http://localhost:8080/druid/index.html,即可查看 SQL 执行的监控信息。

6. 结论

在本文中,我们详细讲述了如何在 Spring Boot 中集成 Druid 数据源,以及如何启用 Druid 连接池的监控功能。通过本文,我们相信您已经掌握了使用 Druid 数据源的相关技能,可以更加方便地在项目中使用该连接池。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Spring boot 集成 Druid 数据源过程详解 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • 常见的 JVM 性能分析工具有哪些?

    以下是关于常见的 JVM 性能分析工具的完整使用攻略: 常见的 JVM 性能分析工具 JVM 性能分析工具是用来分析 Java 程序在 JVM 上的性能表现的工具。常见的 JVM 性能分析工具包括以下几种: 1. JConsole JConsole 是 JDK 自带的一款监控工具,可以监控 JVM 的内存、线程、类、CPU 等信息。通过 JConsole,可…

    Java 2023年5月12日
    00
  • 深入了解Java中循环结构的使用

    深入了解 Java 中循环结构的使用 循环结构是编程中非常重要的一个概念,Java 中包含多种不同类型的循环结构。掌握这些循环结构可以帮助我们更高效地进行编程。下面是深入了解 Java 中循环结构的完整攻略。 for 循环 for 循环是最常用的循环结构之一。它允许我们按照在代码中指定的条件来重复执行特定的代码块。for 循环的语法如下: for (init…

    Java 2023年5月26日
    00
  • IDEA创建SpringBoot父子Module项目的实现

    下面是”IDEA创建SpringBoot父子Module项目的实现”完整攻略,以及两个示例。 一、什么是SpringBoot SpringBoot是基于Spring框架的一个快速开发脚手架,它简化了Spring应用的配置过程,提供了各种组件的自动化配置,在不需要过多配置的情况下,能够轻松地搭建一个基于Spring的Web应用程序。 二、什么是父子Module…

    Java 2023年5月19日
    00
  • weblogic的集群与配置图文方法

    关于“weblogic的集群与配置图文方法”的攻略,我可以提供以下内容: 1、什么是Weblogic集群 Weblogic集群是指多个Weblogic服务器通过特定的配置方式进行的一种有序的组合,使之能够共同处理同一应用的请求。通过集群方式,可以将业务和请求合理分配到不同的服务器上,从而实现高性能、高可用的应用架构。 在Weblogic集群中,有一个Mast…

    Java 2023年5月20日
    00
  • java中json-diff简单使用及对象是否一致详解

    Java中Json-Diff简单使用及对象是否一致详解 介绍 Json-Diff是一种能对比两个Json对象的差异,找出差异的位置和内容的工具,常用于数据同步、版本升级和配置文件比对等场景。在Java中,可以使用开源库json-diff对Json对象进行比较。本篇内容将详细介绍json-diff的简单使用和对象是否一致的详解。 简单使用 本篇将使用json-…

    Java 2023年5月26日
    00
  • springboot配置druid多数据源的示例代码

    下面是“springboot配置druid多数据源的示例代码”的完整攻略。 目录 准备工作 配置Druid数据源 配置多数据源 测试多数据源 示例代码 准备工作 在开始配置Druid多数据源之前,我们需要先进行一些准备工作: 确认使用的Spring Boot版本,本示例使用的是 2.4.2 版本。 添加相关依赖,包括 spring-boot-starter-…

    Java 2023年5月20日
    00
  • java启动参数之谜的排查过程

    以下是Java启动参数排查过程的攻略。 总览 Java应用程序的启动参数是决定应用程序行为的一些选项。这些参数可以设置Java虚拟机的行为,也可以设置应用程序的行为。当应用程序行为和预期不符时,启动参数可能就成为排查问题的关键。 下面是解决Java启动参数排查问题的一些步骤。 第一步:查看启动参数 查看启动参数是排查Java启动参数问题的第一步。可以使用以下…

    Java 2023年5月20日
    00
  • SpringBoot集成Kafka 配置工具类的详细代码

    下面是详细讲解SpringBoot集成Kafka配置工具类的完整攻略。 1、前置要求 在进行SpringBoot集成Kafka之前,需要准备以下环境: Java JDK 8及以上版本 Maven构建工具 Kafka集群及对应的Zookeeper集群 2、添加依赖 在进行SpringBoot集成Kafka之前,需要在pom.xml中添加以下依赖: <de…

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部