SpringBoot配置 Druid 三种方式(包括纯配置文件配置)

下面是SpringBoot配置Druid三种方式的详细攻略,包括纯配置文件配置。

什么是Druid

Druid是一个开源的数据库连接池和监控平台,具有更快的速度和更好的性能。Druid可以提供实时的SQL监控、SQL防火墙、StatFilter、日志记录等功能。

SpringBoot配置Druid

  1. 使用@Configuration和@PropertySource设置数据库连接池属性。
@Configuration
@PropertySource("classpath:application.properties")
public class DruidConfig {

    @Value("${spring.datasource.url}")
    private String dbUrl;

    @Value("${spring.datasource.username}")
    private String username;

    @Value("${spring.datasource.password}")
    private String password;

    @Value("${spring.datasource.driverClassName}")
    private String driverClassName;

    @Bean
    public DataSource dataSource() {
        DruidDataSource dataSource = new DruidDataSource();
        dataSource.setUrl(dbUrl);
        dataSource.setUsername(username);
        dataSource.setPassword(password);
        dataSource.setDriverClassName(driverClassName);
        return dataSource;
    }
}
  1. 使用@ConfigurationProperties批量设置数据库连接池属性。
@Configuration
@ConfigurationProperties(prefix = "spring.datasource")
public class DruidConfig {

    private String url;
    private String username;
    private String password;
    private String driverClassName;

    // 省略getter和setter

    @Bean
    public DataSource dataSource() {
        DruidDataSource dataSource = new DruidDataSource();
        dataSource.setUrl(url);
        dataSource.setUsername(username);
        dataSource.setPassword(password);
        dataSource.setDriverClassName(driverClassName);
        return dataSource;
    }
}
  1. 使用application.properties单独配置数据库连接池属性。

在application.properties中添加以下内容:

spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driverClassName=com.mysql.jdbc.Driver

然后在代码中使用@ImportResource导入配置文件。

@Configuration
@ImportResource(locations = {"classpath:application.properties"})
public class DruidConfig {

    @Bean
    public DataSource dataSource() {
        return new DruidDataSource();
    }
}

以上是SpringBoot配置Druid的三种方式。

示例

我用第一种方式给出一个示例,让大家更好地理解。

@Configuration
@PropertySource("classpath:application.properties")
public class DruidConfig {

    @Value("${spring.datasource.url}")
    private String dbUrl;

    @Value("${spring.datasource.username}")
    private String username;

    @Value("${spring.datasource.password}")
    private String password;

    @Value("${spring.datasource.driverClassName}")
    private String driverClassName;

    @Bean
    public DataSource dataSource() {
        DruidDataSource dataSource = new DruidDataSource();
        dataSource.setUrl(dbUrl);
        dataSource.setUsername(username);
        dataSource.setPassword(password);
        dataSource.setDriverClassName(driverClassName);
        return dataSource;
    }

    @Bean
    public JdbcTemplate jdbcTemplate() {
        return new JdbcTemplate(dataSource());
    }
}

在application.properties中添加以下内容:

spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driverClassName=com.mysql.jdbc.Driver

然后就可以在代码中直接使用jdbcTemplate了。

@Component
public class UserDao {

    @Autowired
    private JdbcTemplate jdbcTemplate;

    public User findUserById(long id) {
        String sql = "select * from t_user where id = ?";
        Object[] params = {id};
        return jdbcTemplate.queryForObject(sql, params, new BeanPropertyRowMapper<>(User.class));
    }
}

以上就是使用SpringBoot配置Druid的步骤和示例。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot配置 Druid 三种方式(包括纯配置文件配置) - Python技术站

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

相关文章

  • Spring boot2+jpa+thymeleaf实现增删改查

    以下是详细讲解“Spring boot2+jpa+thymeleaf实现增删改查”的完整攻略。 1. 准备工作 在开始实现增删改查功能之前,我们需要进行一些准备工作。 1.1 创建Spring Boot工程 首先,我们需要创建一个Spring Boot工程,在这里可以使用Spring Initializr快速创建一个基础工程。在创建工程的过程中需要添加依赖S…

    Java 2023年5月20日
    00
  • SpringBoot整合kafka遇到的版本不对应问题及解决

    下面是关于“SpringBoot整合kafka遇到的版本不对应问题及解决”的完整攻略。 问题描述 在SpringBoot项目中,我们通过kafka实现消息的发送和接收,在整合kafka时,经常会遇到这样的问题,就是当我们在pom.xml文件中配置kafka依赖时,如果选择的版本不正确,就会引发一系列异常。 问题解决 在解决这个问题之前,首先需要了解kafka…

    Java 2023年5月20日
    00
  • 详解Tomcat是如何实现异步Servlet的

    详解Tomcat如何实现异步Servlet。 什么是异步Servlet Servlet是JavaWeb应用程序中的一种Java类,用于处理接收到的HTTP请求并返回HTTP响应。在Web应用程序的架构中,Servlet在Web服务器(如Tomcat)和Web客户端之间充当中间件的角色。在同步编程模型中,Servlet在完成处理请求后,直接返回结果给Web客户…

    Java 2023年5月19日
    00
  • Java中s.charAt(index)用于提取字符串s中的特定字符操作

    当使用Java编写代码时,经常需要操作字符串。Java中提供了许多字符串相关的方法,其中包括charAt()方法,可以用于提取字符串中特定位置的字符。在下面的攻略中,我们将详细讲解charAt()方法的用法及示例。 1. 正确使用charAt()方法 charAt()方法可以用于提取字符串中特定位置的字符。要使用该方法,必须向其传递一个参数,该参数为字符串中…

    Java 2023年5月27日
    00
  • 配置Web应用环境实现JSP留言簿

    下面给出配置Web应用环境实现JSP留言簿的完整攻略。 环境准备 在进行Web应用环境配置之前,需要先准备好以下环境: 安装Java开发环境(JDK) 安装Tomcat服务器 安装一个Java IDE(Eclipse、IntelliJ等) 创建Web应用项目 首先,需要在Java IDE中创建一个Web应用项目。以Eclipse为例,创建步骤如下: 打开Ec…

    Java 2023年6月2日
    00
  • C#中方法的直接调用、反射调用与Lambda表达式调用对比

    C# 中调用方法主要有三种方式:直接调用、反射调用和Lambda表达式调用。这三种方式各有优缺点,接下来将进行详细的对比。 直接调用 直接调用是一种最常见的方法调用方式,也是最简单高效的方式。调用方法时,我们只需要知道方法名以及参数就可以进行调用。C# 中有两种直接调用方式:静态调用和实例调用。 静态调用 静态调用只需要使用类名就可以调用方法,不需要实例对象…

    Java 2023年5月19日
    00
  • 关于Hibernate的一些学习心得总结

    关于Hibernate的一些学习心得总结 什么是Hibernate Hibernate是一个开源的Java持久化框架,它实现了Java Persistence API (JPA) 规范。Hibernate旨在帮助开发者通过面向对象的方式操作数据库,将对象映射到数据库表中,从而实现Java对象和数据库之间的映射关系。 Hibernate的优势 易于使用。Hib…

    Java 2023年5月19日
    00
  • 常见的Java并发编程工具有哪些?

    常见的Java并发编程工具有如下几种: Lock类 Atomic类 ConcurrentHashMap类 Semaphore类 CyclicBarrier类 CountDownLatch类 Executors类 下面将针对每种工具进行详细说明,并提供使用示例。 1. Lock类 Lock类是Java中替代synchronized关键字的重要工具之一。它提供了…

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