• 首先,在pom文件中,引入druid的依赖,然后在properties中配置数据库连接池 druid的配置,这个直接复制就行,放在下面了。
  • 【新手向】 08.SpringBoot整合Druid连接池
    * #数据库连接池 druid配置
    #数据库类型为mysql
    spring.datasource.dbType=mysql
    #启动时初始化5个连接
    spring.datasource.initialSize=20
    #最小空闲连接5个
    spring.datasource.minIdle=5
    #最大连接数量20
    spring.datasource.maxActive=20
    #获取连接等待时间60秒,超出报错
    spring.datasource.maxWait=60000
    #每60秒执行一次连接回收器
    spring.datasource.timeBetweenEvictionRunsMillis=60000
    #5分钟内没有任何操作的空闲连接会被回收
    spring.datasource.minEvictableIdleTimeMillis=300000
    #验证连接有效性的SQL
    spring.datasource.validationQuery=select ‘x’
    #空闲时校验,建议开启
    spring.datasource.testWhileIdle=true
    #使用中是否校验有效性,推荐关闭
    spring.datasource.testOnBorrow=false
    #归还连接时校验有效性,推荐关闭
    spring.datasource.testOnReturn=false
    spring.datasource.poolPreparedStatements=false
    #设置过滤器,stat用于接收状态,wall用于防止SQL注入,logback则说明使用logback日志输出
    spring.datasource.filters=stat,wall,logback
    #统计所有数据源状态
    spring.datasource.useGlobalDataSourceStat=true
    #sql合并统计,与设置慢SQL时间为500毫秒
    spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500

【新手向】 08.SpringBoot整合Druid连接池

  • druid配置完就可以在启动类中初始化DruidDataSource对象,注册后台界面,设置拦截器了,这些方法都可以直接复制粘贴使用。

    @Bean //手动初始化DruidDataSource对象
    @ConfigurationProperties(prefix = “spring.datasource”) //将前缀是spring.datasource的配置注入到方法上
    public DataSource druid(){
    DruidDataSource ds=new DruidDataSource();
    return ds;
    }
    //注册后台就饿面Servlet Bean,用于显示后台界面
    @Bean
    public ServletRegistrationBean statViewServlet(){
    //创建statViewServlet,绑定到druid路径下
    //开启后,访问localhost/druid就可以看到druid管理后台
    ServletRegistrationBean bean=new ServletRegistrationBean(new StatViewServlet(),"/druid/");
    Map<String ,String > param=new HashMap<>();
    param.put(“loginUsername”,“admin”);
    param.put(“loginPassword”,“123456”);
    param.put(“allow”,""); //那些IP允许访问后台"“代表所有地址
    param.put(“deny”,“33.31.51.88”); //不允许这个IP访问
    bean.setInitParameters(param);
    return bean;
    }
    //用于监听获取应用的数据,Filter用于收集数据,Servlet用于展现数据
    @Bean
    public FilterRegistrationBean webStatFilter(){
    FilterRegistrationBean bean=new FilterRegistrationBean();
    bean.setFilter(new WebStatFilter()); //设置过滤器
    bean.addUrlPatterns(”/
    "); //对所有请求进行过滤和捕捉
    Map<String ,String > param=new HashMap<>();
    //排除静态资源
    param.put(“exclusions”,".png,.woff,.jpg,.js,.css,/druid/");
    bean.setInitParameters(param);
    return bean;
    }

*【新手向】 08.SpringBoot整合Druid连接池

  • 【新手向】 08.SpringBoot整合Druid连接池
  • 【新手向】 08.SpringBoot整合Druid连接池
    *前面的准备都完成后,就可以使用浏览器测试了,输入druid,进入登录界面,使用我们初始化时定义的登录名和密码,登录后到后台就可以看到,监控了,那么我们的连接池到底生效没有呢?
    【新手向】 08.SpringBoot整合Druid连接池
  • 【新手向】 08.SpringBoot整合Druid连接池
  • 我们打开navicat,查看服务器监控,可以看到没有启动程序的时候,只有四个连接,启动项目后多了5个连接,然后我们将初始化连接数改为20,可以看到连接池中多出了20个连接。
  • 【新手向】 08.SpringBoot整合Druid连接池
  • 【新手向】 08.SpringBoot整合Druid连接池
  • 【新手向】 08.SpringBoot整合Druid连接池
  • 【新手向】 08.SpringBoot整合Druid连接池
    若有错误,或不足,欢迎指正。

相关文章: