• 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

  • 相关阅读:
    PAT 1017 Queueing at Bank
    一句有意思的代码
    PAT 1031 Hello World for U
    PAT 1024 Palindromic Number
    PAT 1032 Sharing
    各显神通
    ZJU PAT 1023
    静夜,乱思
    PAT 1024 Palindromic Number
    虚函数表
  • 原文地址:https://www.cnblogs.com/binfoo/p/9104666.html
Copyright © 2020-2023  润新知