Spring Boot使用和配置Druid

下面是SpringBoot使用和配置Druid的完整攻略:

1. 引入Druid和SpringBoot Starter依赖

在Maven的pom.xml文件中,加入Druid和SpringBoot Starter的依赖。

<dependency>
   <groupId>com.alibaba</groupId>
   <artifactId>druid-spring-boot-starter</artifactId>
   <version>${druid.version}</version>
</dependency>
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>

druid.version在本文中统一指定为1.2.4

2. 配置Druid数据源

application.properties文件中配置Druid数据源的参数,例如:

spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

#Druid配置
#初始化大小、最小、最大
spring.datasource.initial-size=5
spring.datasource.min-idle=5
spring.datasource.max-active=20
#获取连接等待超时的时间
spring.datasource.max-wait=60000
#间隔多久检测一次,单位毫秒;关闭空闲连接,超出时间范围但连接数没有超过最小连接数,会直接关闭连接;默认为30分钟
spring.datasource.time-between-eviction-runs-millis=60000
#连接在池中最小生存的时间
spring.datasource.min-evictable-idle-time-millis=300000
#用来检测连接是否有效的sql
spring.datasource.validation-query=SELECT 1
spring.datasource.test-while-idle=true
spring.datasource.test-on-borrow=false
spring.datasource.test-on-return=false
#打印数据源信息
spring.datasource.filters=stat,wall,log4j
#合并多个DruidDataSource的监控数据
#spring.datasource.use-global-data-source-stat=true
#通过connectProperties属性来打开mergeSql功能;慢SQL记录
spring.datasource.connection-properties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000

3. 配置Druid监控

application.properties文件中配置Druid监控的访问路径、用户名和密码,例如:

#Druid监控配置
#开启监控界面
spring.datasource.druid.stat-view-servlet.enabled=true
#Druid监控后台的访问路径
spring.datasource.druid.stat-view-servlet.url-pattern=/druid/*
#Druid监控密码修改界面的访问路径
spring.datasource.druid.web-stat-filter.url-pattern=/druid/security/* 
#禁止页面上的Reset All功能
spring.datasource.druid.stat-view-servlet.allow=127.0.0.1
#Druid监控后台的用户名和密码
spring.datasource.druid.stat-view-servlet.login-username=admin
spring.datasource.druid.stat-view-servlet.login-password=123456

4. 测试Druid数据源

我们可以编写一个简单的Controller测试Druid数据源是否配置完成。

@RestController
@RequestMapping("/test")
public class TestController {

    @Autowired
    private DataSource dataSource;

    @GetMapping("/data")
    public String getData(){
        try {
            Connection conn = dataSource.getConnection();
            return "数据库连接成功!";
        } catch (SQLException e) {
            e.printStackTrace();
            return "数据库连接失败:" + e.getMessage();
        }
    }
}

现在,启动SpringBoot应用程序,访问/test/data路由,如果返回数据库连接成功!字符串,则说明Druid数据源配置成功。

5. 使用Druid连接池

我们可以根据实际应用程序的需求来使用Druid连接池进行连接数据库,例如:

@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private JdbcTemplate jdbcTemplate;

    public void addUser(User user){
        jdbcTemplate.update("INSERT INTO user(name,age) VALUE (?,?)", user.getName(), user.getAge());
    }

    public void deleteUserById(Long id){
        jdbcTemplate.update("DELETE FROM user WHERE id=?", id);
    }

    public List<User> getUserList(){
        return jdbcTemplate.query("SELECT * FROM user", new BeanPropertyRowMapper<>(User.class));
    }
}

这里我们使用Spring的JdbcTemplate来操作数据库,并自动获取Druid数据源的连接进行数据库操作。可以根据需要调整参数来控制连接池的行为。

以上就是SpringBoot使用和配置Druid的完整攻略。由于Druid具有强大的监控能力,我们在应用程序中使用它将极大地帮助我们更好地分析和优化应用程序的性能。

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

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

相关文章

  • Java 14 发布了,你还会使用Lombok?

    Java 14 发布了,你还会使用Lombok? 1. Lombok 是什么? Lombok是一种Java库,可以自动插入编辑器和生成代码,减少Java开发中的冗余代码,使Java代码更加简洁。 2. Java 14 新特性 Java 14 主要带来了以下新特性: Records: 一种新的引用类型,旨在简化Java中的数据类设计。 Text Blocks:…

    Java 2023年5月26日
    00
  • SpringBoot下Mybatis的缓存的实现步骤

    SpringBoot下Mybatis的缓存实现步骤如下所述: 1. 配置缓存 在 Spring Boot 中,使用 Mybatis 需要先在 pom.xml 文件中引入相关的依赖和插件,然后在 application.yml 或 application.properties 文件中配置Mybatis即可。 在配置的时候,需要在 mybatis-config.…

    Java 2023年5月20日
    00
  • 如何用struts调用支付宝接口

    下面是如何用struts调用支付宝接口的攻略。 1.准备工作 在使用struts调用支付宝接口之前,需要先完成以下准备工作: 1.申请支付宝开发者账号:在支付宝开放平台注册账号,并完成实名认证。 2.创建应用:登录开放平台后,在开发者控制台创建一个应用,并得到应用的APP ID、商户私钥、支付宝公钥等信息。 3.下载支付宝开发包:在[支付宝开放平台](htt…

    Java 2023年5月20日
    00
  • Java调用接口如何获取json数据解析后保存到数据库

    要实现Java调用接口获取JSON数据并将其解析后保存到数据库,我们可以按下面的步骤进行操作: 1.发送HTTP请求获取JSON数据 使用Java的HttpUrlConnection或HttpClient等工具发送HTTP请求,获取返回的JSON字符串。 示例代码: String apiUrl = "https://api.example.com/…

    Java 2023年5月26日
    00
  • Bootstrap和Java分页实例第二篇

    下面是对于“Bootstrap和Java分页实例第二篇”的详细讲解攻略。 什么是Bootstrap和Java分页实例第二篇 Bootstrap和Java分页实例第二篇是一篇关于如何使用Bootstrap和Java进行分页功能实现的技术文章。文章的主要内容涵盖了Bootstrap基础、Java分页实现、Ajax分页实现、Bootstrap分页器等方面,旨在帮助…

    Java 2023年6月15日
    00
  • java实现微信小程序登录态维护的示例代码

    为了方便描述,本次攻略将会分为以下四个部分进行讲解: 微信小程序登录流程 前端获取微信小程序登录态并传递给后端 后端维护微信小程序登录态 示例代码说明 下面将逐一进行讲解。 1. 微信小程序登录流程 用户授权:用户通过微信小程序点击登录按钮,小程序调用wx.login()方法获取临时登录凭证code,并在回调函数中将code传递给小程序前端。 前端获取登录态…

    Java 2023年5月23日
    00
  • logback过滤部分日志输出的操作

    当我们在开发、调试和运行程序时,经常会遇到需要限制部分日志的输出情况。这时候就需要使用logback的过滤器来实现。 在logback中,我们可以通过使用标签来定义过滤器。logback提供了多种过滤器,如LevelFilter、ThresholdFilter、AndFilter、OrFilter、TurboFilter等,通过组合这些过滤器,实现对日志输出…

    Java 2023年5月20日
    00
  • java原装代码完成pdf在线预览和pdf打印及下载

    Java原装代码可以实现PDF在线预览、打印和下载功能。以下是实现PDF在线预览、打印和下载功能的详细攻略。 准备工作 在实现PDF在线预览、打印和下载功能之前,需要完成以下准备工作: 下载并安装Java SDK; 下载并安装Tomcat服务器; 下载并安装Apache POI库。 实现PDF在线预览 要实现PDF在线预览功能,需要使用PDF.js这个开源库…

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