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

登录的用户名和密码:

结果: 

原文地址:https://blog.csdn.net/qq_26182739/article/details/84671109 

发布了18 篇原创文章 · 获赞 18 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/andwey/article/details/105297438