美文网首页
springboot配置druid数据源,启动监控界面

springboot配置druid数据源,启动监控界面

作者: CryFace | 来源:发表于2020-05-30 20:00 被阅读0次

    (1)导入相关maven依赖

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

    (2)application.yml中配置druid

    spring:
      datasource:
        name: bs
        data-username: root
        data-password: 123456
        driver-class-name: com.mysql.jdbc.Driver
        url: jdbc:mysql://127.0.0.1:3306/billsystem?characterEncoding=UTF-8
        type: com.alibaba.druid.pool.DruidDataSource
        #下面都是一些参数设置,详细含义可以看官方文档
        initialSize: 5
        minIdle: 2
        maxActive: 20
        maxWait: 60000
        timeBetweenEvictionRunsMillis: 60000
        minEvictableIdleTimeMillis: 300000
        validationQuery: SELECT 1 FROM DUAL
        testWhileIdle: true
        testOnBorrow: false
        testOnReturn: false
        poolPreparedStatements: true
        maxPoolPreparedStatementPerConnectionSize: 20
        #配置监控统计的拦截功能,stat,监控统计,wall,防御sql注入,log4j,日志记录
        filters: stat,wall,log4j
        connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
        # 合并多个DruidDataSource的监控数据
        useGlobalDataSourceStat: true
    

    需要注意的,我们在上面因为使用到了log4j功能,所以导入相关依赖,不然就会报错



    我们再次引入log4j的依赖。(有时候也会因为编码问题,在对yml编译后乱码无法识别,我们就需要把注释去掉,或者修改一下编码情况。这里不是指上面的错误,而且是特殊情况)

            <dependency>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <version>1.2.17</version>
            </dependency>
    

    (3)配置druid的config配置类

    package com.billsystem.config;
    
    import com.alibaba.druid.pool.DruidDataSource;
    import com.alibaba.druid.support.http.StatViewServlet;
    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.boot.web.servlet.ServletRegistrationBean;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    
    import javax.sql.DataSource;
    import java.util.HashMap;
    import java.util.Map;
    
    @Configuration
    public class DruidConfig {
    
        @ConfigurationProperties(prefix = "spring.datasource")
        @Bean
        public DataSource druidDataSource(){
            return new DruidDataSource();
        }
    
        //后台监控
        @Bean
        public ServletRegistrationBean toBean(){
            ServletRegistrationBean<StatViewServlet> bean = new ServletRegistrationBean<>(new StatViewServlet(),"/druid/*");
    
            //配置后台账号密码
            Map<String,String> map = new HashMap<>();
            //用户名和密码的key是不可以更改的
            map.put("loginUsername","admin");
            map.put("loginPassword","123456");
            //允许什么可以进入
            map.put("allow","");
            //配置不可以进入
            map.put("deny","192.168.0.1");
            //设置初始化参数
            bean.setInitParameters(map);
            return bean;
        }
    }
    

    (4)监控展示

    我们在启动服务器之后,在浏览器里面输入127.0.0.1/druid就会自动跳到登录界面,我们再输入我们配置好的账号密码就可以进入了



    我们同时再进行几条sql语句的执行,看看有没有监控到

    相关文章

      网友评论

          本文标题:springboot配置druid数据源,启动监控界面

          本文链接:https://www.haomeiwen.com/subject/dyvhzhtx.html