012 druid数据源

一 . 概述

  我们首先在springboot之中配置一个数据源.


二 . 数据源的配置

  在springboot之中,配置一个数据源变得十分的简单了.我们只需要使用application.properties文件就可以了.

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

我们只要在配置文件之中配置了上述的内容,同时我们引入了相关的启动器,我们的数据源就会自动的进行配置.

启动器如下:  

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>

我们使用的是mysql数据库.


 三 .配置Druid数据源

  我们在一般情况下都不会使用springboot默认给出的数据源,一般情况下我们都会使用Druid来完成.

  Druid最为优秀的就是拥有一整套监控组件.

首先我们需要导入Druid的jar文件.

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.0</version>
        </dependency>

本次我们使用的版本是1.1.0这个版本,原因就是本人喜欢使用整数样的版本.呵呵.

下面我们需要的就是进行Druid的配置.

spring.datasource.type=com.alibaba.druid.pool.DruidDataSource

我们只需要在上面的配置信息之中指定我们需要使用的type是Druid就可以了.

现在出现了一个问题,就是Druid数据源之中有很多的配置信息,我们使用什么样的手段才能对这些属性进行配置呢?  

spring.datasource.initialSize=5    
spring.datasource.minIdle=5    
spring.datasource.maxActive=20    
spring.datasource.maxWait=60000    
spring.datasource.timeBetweenEvictionRunsMillis=60000    
spring.datasource.minEvictableIdleTimeMillis=300000    
spring.datasource.validationQuery=SELECT 1 FROM DUAL    
spring.datasource.testWhileIdle=true    
spring.datasource.testOnBorrow=false    
spring.datasource.testOnReturn=false    
spring.datasource.poolPreparedStatements=true    
spring.datasource.maxPoolPreparedStatementPerConnectionSize=20    
spring.datasource.filters=stat,wall,log4j    
spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000

我们还是在application.properties文件之中配置上述的信息:

  细心的人会发现这些配置信息根本就不是springboot标准配置信息的一部分.

下面我们就可以使用一个注解帮助我们完成.@ConfigurationProperties来帮助我们完成.

下面简单的演示一下:  

@Configuration
public class DataSourceConfig {

    @Bean
    @ConfigurationProperties("spring.datasource")
    public DataSource druid() {
        return new DruidDataSource();
    }
}

我们就是在一般的Bean的配置之上加上了一个注解,这个注解会帮助我们将配置文件之中的一些配置信息自动的填充到Bean的属性之上.

原文地址:https://www.cnblogs.com/trekxu/p/9740177.html