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日

相关文章

  • Java实现跨服务器上传文件功能

    下面是一个完整的 Java 实现跨服务器上传文件功能的攻略: 1. 准备工作 在开始之前,需要确保本地和服务器上都已经安装了相应的环境: JDK:Java 开发环境; Tomcat:Java Web 应用服务器; Spring MVC:用于构建 Web 应用程序。 2. 创建项目 首先,你需要创建一个新的 Java 项目,然后创建一个 Web 程序。在 We…

    Java 2023年5月19日
    00
  • Spring基于注解管理bean实现方式讲解

    让我来讲解一下“Spring基于注解管理bean实现方式讲解”的完整攻略。 1. 什么是Spring注解管理Bean Spring注解管理Bean是一种不需要在XML或Java配置文件中手动定义bean实例的管理方式,而是使用注解的方式来进行实例的创建、初始化和依赖注入。相对于传统的XML或Java配置方式,使用注解可以使代码更加简洁,并且可以更加方便地进行…

    Java 2023年5月31日
    00
  • 使用Spring的AbstractRoutingDataSource实现多数据源切换示例

    以下是使用Spring的AbstractRoutingDataSource实现多数据源切换的完整攻略。 1. 引入依赖 首先需要在项目中引入Spring的相关依赖,其中包括Spring JDBC、Spring AOP和Spring Context等模块。最新版本的Spring依赖可以在Maven中心库中获取,或者可以到Spring官网查看最新的版本信息。 2…

    Java 2023年5月20日
    00
  • Java使用正则表达式对注册页面进行验证功能实现

    Java使用正则表达式对注册页面进行验证功能实现的攻略需要分为以下几个步骤: 定义需要验证的表单字段 在进行验证前,需要先确定需要验证的表单字段。一般来说,注册页面需要验证的字段包括用户名、密码、邮箱等。 编写正则表达式 根据需要验证的表单字段,编写相应的正则表达式。正则表达式用于匹配输入字符串,检查其是否符合规定的格式要求。 例如,对于用户名,常用的验证规…

    Java 2023年6月15日
    00
  • 详解如何将已有项目改造为Spring Boot项目

    如何将已有项目改造为Spring Boot项目 在本文中,我们将详细讲解如何将已有项目改造为Spring Boot项目的完整攻略,包括以下步骤: 添加Spring Boot依赖 配置Spring Boot启动类 配置Spring Boot配置文件 修改项目结构 配置Spring Boot自动配置 测试Spring Boot项目 1. 添加Spring Boo…

    Java 2023年5月15日
    00
  • 一篇超详细的Spring Boot整合Mybatis文章

    Spring Boot整合MyBatis完整攻略 Spring Boot是一个快速开发框架,可以帮助开发人员快速构建Web应用程序。在Spring Boot中,整合MyBatis可以帮助我们更方便地操作数据库。本文将介绍如何在Spring Boot中整合MyBatis,并提供两个示例。 整合MyBatis 在Spring Boot中整合MyBatis需要以下…

    Java 2023年5月15日
    00
  • MyBatis运行找不到xml资源文件

    MyBatis运行找不到xml资源文件 运行报错: 报错原因:程序运行后,没有将 src/main/java 目录下的资源文件(xml、properties等等)导出到 target工作目录下,所以程序找不到 java目录: 运行后的target目录:可以看到并没有 MonsterMapper.xml文件 解决方法: Maven项目在 pom.xml 文件中…

    Java 2023年4月23日
    00
  • 基于jsp的AJAX多文件上传的实例

    针对“基于jsp的AJAX多文件上传的实例”这个主题,下面是一个基本的攻略应该包含的内容: 一、概述 主题简介:介绍主题的背景和目的,以及实现这个主题的好处和意义。 技术栈选择及原因:选择使用哪些技术及其原因,这个主题需要哪些技术来实现。 二、准备工作 搭建环境:明确需要使用哪些软件和工具,安装和配置这些软件和工具。 项目结构和文件:描述该主题的样例代码的目…

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