springboot整合druid

添加依赖

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

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>

配置druid参数application-dev.yml

    # 数据库访问配置
    # 主数据源,默认的
    spring:
      datasource:
        type: com.alibaba.druid.pool.DruidDataSource
        driver-class-name: com.mysql.jdbc.Driver
        url: jdbc:mysql://localhost:3306/rest?useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=true
        username: root
        password: aA123456

    # 下面为连接池的补充设置,应用到上面所有数据源中
    # 初始化大小,最小,最大
        initialSize: 5
        minIdle: 5
        maxActive: 20
    # 配置获取连接等待超时的时间
        maxWait: 60000
    # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
        timeBetweenEvictionRunsMillis: 60000
    # 配置一个连接在池中最小生存的时间,单位是毫秒
        minEvictableIdleTimeMillis: 300000
        validationQuery: SELECT 1 FROM DUAL
        testWhileIdle: true
        testOnBorrow: false
        testOnReturn: false
    # 打开PSCache,并且指定每个连接上PSCache的大小
        poolPreparedStatements: true
        maxPoolPreparedStatementPerConnectionSize: 20
    # 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
        filters: stat,wall,log4j
    # 通过connectProperties属性来打开mergeSql功能;慢SQL记录
        connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000

    # 合并多个DruidDataSource的监控数据
    #spring.datasource.useGlobalDataSourceStat=true

配置WebMvcConfig,继承WebMvcConfigurerAdapter

    package com.binfoo.config;

    import com.alibaba.druid.support.http.StatViewServlet;
    import com.alibaba.druid.support.http.WebStatFilter;
    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.web.servlet.config.annotation.WebMvcConfigurerAdapter;

    @Configuration
    public class WebMvcConfig extends WebMvcConfigurerAdapter {

        /**
         * 配置Druid数据源和监控界面
         * 使用嵌入式的Tomcat进行注册
         * @return
         */
        @Bean
        public ServletRegistrationBean servletRegistrationBean() {
            //org.springframework.boot.context.embedded.ServletRegistrationBean提供类的进行注册.
            ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*");

            //添加初始化参数:initParams
            //白名单:
            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.73");

            //登录查看信息的账号密码.
            servletRegistrationBean.addInitParameter("loginUsername", "root");

            servletRegistrationBean.addInitParameter("loginPassword", "password");

            //是否能够重置数据.
            servletRegistrationBean.addInitParameter("resetEnable", "false");// 禁用HTML页面上的“Reset All”功能

            return servletRegistrationBean;
        }

        /**
         * 配置Druid数据源和监控界面
         * @return
         */
        @Bean
        public FilterRegistrationBean druidStatFilter() {

            FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new WebStatFilter());

            filterRegistrationBean.setName("druidWebStatFilter");

            //添加过滤规则.
            filterRegistrationBean.addUrlPatterns("/*");

            //添加忽略的格式信息.
            filterRegistrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");

            return filterRegistrationBean;

        }

    }

打开http://127.0.0.1:8081/druid/index.html,登录root password

posted @ 2018-05-29 13:50  binfoo  阅读(518)  评论(0编辑  收藏  举报