Spring Boot 使用Druid详解

Spring Boot使用Druid的详细攻略如下:

  1. 添加Druid依赖

在Spring Boot中使用Druid,需要在pom.xml文件中添加Druid的依赖:

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.2.6</version>
</dependency>
  1. 配置Druid数据源

在Spring Boot中,可以使用application.properties或application.yml文件来配置Druid数据源。以下是一个使用application.properties文件的示例:

spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=user
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

# Druid configuration
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.max-wait=60000
spring.datasource.druid.time-between-eviction-runs-millis=60000
spring.datasource.druid.min-evictable-idle-time-millis=300000
spring.datasource.druid.validation-query=SELECT 1 FROM DUAL
spring.datasource.druid.test-while-idle=true
spring.datasource.druid.test-on-borrow=false
spring.datasource.druid.test-on-return=false
spring.datasource.druid.pool-prepared-statements=true
spring.datasource.druid.max-pool-prepared-statement-per-connection-size=20
spring.datasource.druid.filters=stat,wall,log4j
spring.datasource.druid.connection-properties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000

在上面的示例中,我们使用spring.datasource前缀来配置数据源。我们使用spring.datasource.druid前缀来配置Druid数据源。我们指定了数据源的URL、用户名、密码和驱动程序。我们还指定了Druid数据源的一些属性,如初始大小、最小空闲连接数、最大活动连接数、最大等待时间、空闲连接回收时间、验证查询、测试连接等。

  1. 配置Druid监控

在Spring Boot中,可以使用Druid监控来监视数据源的性能和状态。以下是一个使用Druid监控的示例:

@Configuration
public class DruidConfig {
    @Bean
    public ServletRegistrationBean<StatViewServlet> druidServlet() {
        ServletRegistrationBean<StatViewServlet> registrationBean = new ServletRegistrationBean<>(new StatViewServlet(), "/druid/*");
        registrationBean.addInitParameter("loginUsername", "admin");
        registrationBean.addInitParameter("loginPassword", "admin");
        return registrationBean;
    }

    @Bean
    public FilterRegistrationBean<WebStatFilter> filterRegistrationBean() {
        FilterRegistrationBean<WebStatFilter> registrationBean = new FilterRegistrationBean<>(new WebStatFilter());
        registrationBean.addUrlPatterns("/*");
        registrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");
        return registrationBean;
    }
}

在上面的示例中,我们创建了一个名为DruidConfig的配置类。我们使用@Bean注解来创建ServletRegistrationBean和FilterRegistrationBean对象。我们使用ServletRegistrationBean来注册StatViewServlet,用于显示Druid监控页面。我们使用FilterRegistrationBean来注册WebStatFilter,用于收集数据源的性能和状态信息。

  1. 示例一:使用Druid数据源

以下是一个使用Druid数据源的示例:

@Service
public class MyService {
    @Autowired
    private DataSource dataSource;

    public void query() {
        try (Connection conn = dataSource.getConnection();
             Statement stmt = conn.createStatement();
             ResultSet rs = stmt.executeQuery("SELECT * FROM mytable")) {
            while (rs.next()) {
                // process result set
            }
        } catch (SQLException e) {
            // handle exception
        }
    }
}

在上面的示例中,我们使用@Autowired注解来注入Druid数据源。在服务中,我们使用数据源来获取数据库连接,并执行查询。

  1. 示例二:使用Druid监控

以下是一个使用Druid监控的示例:

@RestController
public class MyController {
    @Autowired
    private DruidDataSource dataSource;

    @GetMapping("/druid/stat")
    public Object stat() {
        return dataSource.getStatData();
    }
}

在上面的示例中,我们使用@Autowired注解来注入Druid数据源。在控制器中,我们使用数据源来获取Druid监控数据,并返回结果。

以上是Spring Boot使用Druid的完整攻略,其中包括添加Druid依赖、配置Druid数据源和Druid监控等步骤。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Spring Boot 使用Druid详解 - Python技术站

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

相关文章

  • Java HttpClient-Restful工具各种请求高度封装提炼及总结

    Java HttpClient-Restful工具各种请求高度封装提炼及总结 Java中的HttpClient和Restful工具是一些非常实用的工具,可用于完成HTTP请求的各种操作。本文将介绍如何使用Java HttpClient和Restful工具来实现HTTP请求的高度封装,并提供一些示例来帮助读者更好地理解。 HttpClient工具 1.为什么需…

    Java 2023年5月26日
    00
  • Spring Boot自动注入的原理分析

    SpringBoot自动注入的原理分析 在Spring Boot中,自动注入是一个非常重要的特性。它可以帮助我们更方便地管理Bean之间的依赖关系。在本攻略中,我们将详细讲解Spring Boot自动注入的原理分析。 1. 自动注入的原理 Spring Boot的自动注入是通过依赖注入(DI)实现的。在DI中,对象之间的依赖关系由容器负责管理。当一个对象需要…

    Java 2023年5月14日
    00
  • java使用Socket类接收和发送数据

    Java 中使用 Socket 类来实现网络通讯,可以通过 Socket 类的 send 和 receive 方法实现数据传送。我们可以通过以下步骤来实现 Socket 类的数据发送和接收: 创建 Socket 实例并连接服务器 在使用 Socket 类实现数据传输前,需要先创建 Socket 实例。通过传入目标主机和端口号作为参数,我们可以实现与目标主机的…

    Java 2023年5月26日
    00
  • java中JDBC增删改查操作详解

    Java中JDBC增删改查操作详解 JDBC(Java Database Connectivity)是Java程序访问数据库的标准API。学习JDBC可以帮助我们了解如何在Java程序中对数据库进行增删改查等操作。 本教程将详细讲解Java中JDBC的增删改查操作,包括以下部分: JDBC环境搭建 数据库的增删改查操作 示例 JDBC环境搭建 在使用JDBC…

    Java 2023年5月19日
    00
  • java实现图片加水印效果

    为了在Java中实现图片加水印效果,需要以下步骤: 步骤一:导入依赖 需要导入Java Image I/O工具包和Java 2D API工具包的依赖,可在pom.xml文件中添加以下代码: <dependencies> <dependency> <groupId>javax.media</groupId> &l…

    Java 2023年6月15日
    00
  • springboot使用Logback把日志输出到控制台或输出到文件

    下面是使用Spring Boot集成Logback将日志输出到控制台或文件的完整攻略。 步骤1: 添加Logback和Spring Boot的依赖 首先需要在pom.xml文件中添加Logback和Spring Boot的依赖: <!– Logback for logging –> <dependency> <groupId…

    Java 2023年5月26日
    00
  • Java中char[]输出不是内存地址的原因详解

    题目:Java中char[]输出不是内存地址的原因详解 为什么Java中char[]数组的输出结果不是内存地址呢?这个问题很多Java初学者都会遇到,下面就给大家详细讲解Java中char[]数组的特性。 char[]数组在Java中的特性 Java中的char[]数组与其他基本数据类型数组一样,是一种在内存中开辟空间的一维数组,用来存储相应的数据。 cha…

    Java 2023年5月26日
    00
  • SpringBoot HikariCP连接池详解

    SpringBoot HikariCP连接池详解 本文介绍如何使用SpringBoot和HikariCP来管理MySQL数据库连接池。 什么是HikariCP? HikariCP是一个高效的、快速的、轻量级的JDBC连接池,取名自日本的“光之屋”。与其他连接池相比,它有更快的启动时间、更小的内存占用以及更高的性能。 SpringBoot集成HikariCP …

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