SpringBoot2.0.6整合Druid

1.pom.xml文件引入依賴

<!--Druid關係型數據庫連接池-->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.1.10</version>
</dependency>

2.application.yml加入druid配置

spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    druid:
      url: jdbc:mysql://localhost:3306/user_db?useSSL=false&allowPublicKeyRetrieval=true
      username: user
      password: user
      driver-class-name: com.mysql.jdbc.Driver
      #初始化大小
      initial-size: 5
      max-active: 100
      min-idle: 5
      #獲取連接等待超時時間
      max-wait: 60000
      #配置間隔多久才進行一次檢測,檢測需要關閉的空閒連接,單位是毫秒
      time-between-eviction-runs-millis: 60000
      #配置一個連接在池中的最小生存時間,單位是毫秒
      min-evictable-idle-time-millis: 300000
      validation-query: SELECT 1 FROM DUAL
      validation-query-timeout: 60000
      #建議配置爲true,不影響性能,並且保證安全性。申請連接的時候檢測,
      #如果空閒時間大於timeBetweenEvictionRunsMillis,執行validationQuery檢測連接是否有效
      test-while-idle: true
      #申請連接時檢測連接是否有效
      test-on-borrow: false
      #歸還連接時檢測連接是否有效
      test-on-return: false
      #打開PSCache,並且指定每個連接上的PSCache大小
      pool-prepared-statements: true
      max-pool-prepared-statement-per-connection-size: 20
      filter:
        #配置StatFilter
        stat:
          db-type: mysql
          log-slow-sql: true
          slow-sql-millis: 5000
        #配置WallFilter
        wall:
          enabled: true
          db-type: mysql
          config:
            delete-allow: false
            drop-table-allow: false

3.新增DruidConfig

@Configuration
@ConditionalOnClass(com.alibaba.druid.pool.DruidDataSource.class)
@ConditionalOnProperty(name = "spring.datasource.type", havingValue = "com.alibaba.druid.pool.DruidDataSource", matchIfMissing = true)
public class DruidConfig {

    @Bean
    @ConfigurationProperties("spring.datasource.druid")
    public DataSource dataSourceOne(){
        return DruidDataSourceBuilder.create().build();
    }

    @Bean
    public ServletRegistrationBean statViewServle(){
        ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(
                new StatViewServlet(),"/druid/*");
        // IP白名單
        servletRegistrationBean.addInitParameter("allow","127.0.0.1");
        // IP黑名單
        servletRegistrationBean.addInitParameter("deny","192.168.1.100");
        // 控制檯管理用戶
        servletRegistrationBean.addInitParameter("loginUsername","druid");
        servletRegistrationBean.addInitParameter("loginPassword","druid123");
        // 是否能夠重置數據
        servletRegistrationBean.addInitParameter("resetEnable","false");
        return servletRegistrationBean;
    }


    @Bean
    public FilterRegistrationBean statFilter(){
        FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new WebStatFilter());
        filterRegistrationBean.setFilter(new WebStatFilter());
        // 添加過濾規則
        filterRegistrationBean.addUrlPatterns("/*");
        // 忽略過濾的格式
        filterRegistrationBean.addInitParameter("exclusions","*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");
        return filterRegistrationBean;
    }
}

4.啓動項目訪問 http://localhost:8810/druid/index.html

輸入用戶名/密碼 : druid/druid123,登錄查看

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章