Spring boot druid 的配置使用

依赖加入

    <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.18</version>
        </dependency>

  

YML

spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/student?useUnicode=true&characterEncoding=utf-8
    username: root
    password: 12345678
    # druid 配置
    dbType: mysql   # 指定数据库类型 mysql
    initialSize: 5  # 启动初始化连接数量
    minIdle: 5      # 最小空闲连接
    maxActive: 20   # 最大连接数量(包含使用中的和空闲的)
    maxWait: 60000  # 最大连接等待时间 ,超出时间报错
    timeBetweenEvictionRunsMillis: 60000  # 设置执行一次连接回收器的时间
    minEvictableIdleTimeMillis: 300000   # 设置时间: 该时间内没有任何操作的空闲连接会被回收
    validationQuery: select 'x'         # 验证连接有效性的sql
    testWhileIdle: true             # 空闲时校验
    testOnBorrow: false  # 使用中是否校验有效性
    testOnReturn: false  # 归还连接池时是否校验
    poolPreparedStatements: false  # mysql 不推荐打开预处理连接池
    filters: stat,wall,logback  #设置过滤器 stat用于接收状态,wall防止sql注入,logback说明使用logback进行日志输出
    userGlobalataSourceStat: true  # 统计所有数据源状态
    connectionProperties: druid.stat.mergSql=true;druid.stat.slowSqlMillis=500  # sql合并统计 设置慢sql时间为500,超过500 会有记录提示

 入口程序配置自定义Bean

   // 初始化druidDataSource对象
    @Bean
    @ConfigurationProperties(prefix = "spring.datasource")
    public DataSource druidDataSource(){

        return  new DruidDataSource();
    }


    // 注册后台监控界面
    @Bean
    public ServletRegistrationBean servletRegistrationBean(){
        // 绑定后台监控界面的路径  为localhost/druid
        ServletRegistrationBean bean=new ServletRegistrationBean(new StatViewServlet(),"/druid/*");
        Map<String,String>map=new HashMap<>();
        // 设置后台界面的用户名
        map.put("loginUsername","guoxw");
        //设置后台界面密码
        map.put("loginPassword","123456");
        // 设置那些ip允许访问," " 为所有
        map.put("allow","");
        // 不允许该ip访问
        map.put("deny","33.32.43.123");
        bean.setInitParameters(map);
        return bean;

    }

    // 监听获取应用的数据,filter用于收集数据,servlet用于数据展示

    @Bean
    public FilterRegistrationBean filterRegistrationBean(){
        FilterRegistrationBean bean=new FilterRegistrationBean();
        // 设置过滤器
        bean.setFilter(new WebStatFilter());
        // 对所有请求进行过滤捕捉监听
        bean.addUrlPatterns("/*");
        Map<String,String>map=new HashMap<>();
        // 排除 . png  .js 的监听  用于排除一些静态资源访问
        map.put("exclusions","*.png,*.js");
        bean.setInitParameters(map);
        return bean;

    }

  

进入配置的地址 http://localhost:8080/druid

 

原文地址:https://www.cnblogs.com/galibujianbusana/p/11144904.html