zoukankan      html  css  js  c++  java
  • springboot 整合 druid

    依赖

    		<!--Druid-->
    		<dependency>
    			<groupId>com.alibaba</groupId>
    			<artifactId>druid-spring-boot-starter</artifactId>
    			<version>1.1.10</version>
    		</dependency>
    

    配置

    spring:
        datasource:
          username: rdffdoot
          password: dsfsfsdf
          url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC
          driver-class-name: com.mysql.cj.jdbc.Driver
          type: com.alibaba.druid.pool.DruidDataSource
          # 下面为连接池的补充设置,应用到上面所有数据源中
          # 初始化大小,最小,最大
          # druid 配置: https://github.com/alibaba/druid/wiki/
          initialSize: 1
          minIdle: 1
          maxActive: 20
          # 配置获取连接等待超时的时间
          maxWait: 60000
          # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
          timeBetweenEvictionRunsMillis: 60000
          # 配置一个连接在池中最小生存的时间,单位是毫秒
          minEvictableIdleTimeMillis: 300000
          validationQuery: select 1
          testWhileIdle: true
          testOnBorrow: false
          testOnReturn: false
          # 打开PSCache,并且指定每个连接上PSCache的大小
          poolPreparedStatements: true
          maxPoolPreparedStatementPerConnectionSize: 20
          # 配置监控统计拦截的filters,stat用于监控界面,'wall'用于防火墙防御sql注入, slf4j用于druid记录sql日志
          filters: stat,slf4j,wall
          # 通过connectProperties属性来打开mergeSql功能;慢SQL记录
          connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
          # 合并多个DruidDataSource的监控数据
          useGlobalDataSourceStat: false
    

    监控中心

    package com.hd.config;
    
    import com.alibaba.druid.support.http.StatViewServlet;
    import com.alibaba.druid.support.http.WebStatFilter;
    import org.mybatis.spring.SqlSessionFactoryBean;
    import org.springframework.beans.factory.annotation.Qualifier;
    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.boot.web.servlet.FilterRegistrationBean;
    import org.springframework.boot.web.servlet.ServletRegistrationBean;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.context.annotation.Primary;
    import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
    import org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor;
    
    import javax.sql.DataSource;
    
    /**
     * druid监控
     */
    @Configuration
    public class DruidConfiguration {
        @Bean
        public ServletRegistrationBean statViewServlet() {
            ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*");
            //白名单:
            servletRegistrationBean.addInitParameter("allow", "127.0.0.1");
            //IP黑名单 (存在共同时,deny优先于allow) : 如果满足deny的即提示:Sorry, you are not permitted to view this page.
            servletRegistrationBean.addInitParameter("deny", "192.168.1.100");
            //登录查看信息的账号密码.
            servletRegistrationBean.addInitParameter("loginUsername", "druid");
            servletRegistrationBean.addInitParameter("loginPassword", "12345678");
            //是否能够重置数据.
            servletRegistrationBean.addInitParameter("resetEnable", "false");
            return servletRegistrationBean;
        }
    
    //    @Bean
    //    public FilterRegistrationBean statFilter() {
    //        FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new WebStatFilter());
    //        //添加过滤规则.
    //        filterRegistrationBean.addUrlPatterns("/*");
    //        //添加不需要忽略的格式信息.
    //        filterRegistrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");
    //        return filterRegistrationBean;
    //    }
    
        @Bean
        PersistenceExceptionTranslationPostProcessor persistenceExceptionTranslationPostProcessor() {
            return new PersistenceExceptionTranslationPostProcessor();
        }
    
        //配置数据库的基本链接信息
    //    @Bean(name = "dataSource")
    //    @Primary
    //    @ConfigurationProperties(prefix = "spring.datasource")    //可以在application.properties中直接导入
    //    public DataSource dataSource() {
    //        return DataSourceBuilder.create().type(com.alibaba.druid.pool.DruidDataSource.class).build();
    //    }
    
    //    @Bean
    //    public SqlSessionFactoryBean sqlSessionFactory(@Qualifier("dataSource") DataSource dataSource) throws Exception {
    //        SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
    //        bean.setDataSource(dataSource);
    //        PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
    //        bean.setMapperLocations(resolver.getResources("classpath:/mappers/*.xml"));
    //        return bean;
    //    }
    }
    
    
  • 相关阅读:
    同异步调用、shutdown参数
    python学习笔记
    《深入浅出WPF》学习笔记之绘图和动画
    《深入浅出WPF》学习笔记之深入浅出话命令
    《深入浅出WPF》学习笔记之深入浅出话事件
    《深入浅出WPF》学习笔记之深入浅出话属性
    《深入浅出WPF》学习笔记之深入浅出话Binding
    《深入浅出WPF》学习笔记之控件与布局
    《深入浅出WPF》学习笔记之x名称空间详解
    《深入浅出WPF》学习笔记之系统学习XAML语法
  • 原文地址:https://www.cnblogs.com/xiongyungang/p/12581308.html
Copyright © 2011-2022 走看看