1. 程式人生 > >012 druid數據源

012 druid數據源

.mine roo host 一個 們的 一個數 init mysql 數據

一 . 概述

  我們首先在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的屬性之上.

012 druid數據源