zoukankan      html  css  js  c++  java
  • SpringBoot下配置Druid

    什么是Druid:Druid是阿里发开的一套基于database的监控平台,相对于其他监控来说对于中文的支持更亲民..

    前言:最近这段时间发现项目整体运行响应速度较慢,打算对系统进行深层次的优化(尤其是sql方面),所以打算内置Druid在系统中,用来监控系统的运行情况.

    传统的web项目中配置Druid在其github上已有明确的文档,此处不在赘述,如有需要可以参考:https://github.com/alibaba/druid

    下面我们来谈谈在springboot中如何内置Druid.

    1.需要依赖的jar包:

    <!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid</artifactId>
                <version>1.1.10</version>
            </dependency>
    

      特别说明一下:如果使用postgresql的朋友请选择:

          <dependency>
                <groupId>org.postgresql</groupId>
                <artifactId>postgresql</artifactId>
                <version>42.0.0</version>
            </dependency>
    

      目前我发现的是在这个版本下可用,其他版本可能会出现一些奇怪的报错.

    2.配置数据库驱动:

    @Configuration
    public class DataSourceConfig {
    
        @ConfigurationProperties(prefix = "spring.datasource")
        @Bean("dataSource")
        public DataSource druid(){
    
            return new DruidDataSource();
        }
        @Bean
        public ServletRegistrationBean statViewServlet(){
            ServletRegistrationBean bean = new ServletRegistrationBean(new StatViewServlet());
            Map<String, String> initParameters=new HashMap<>();
            initParameters.put("loginUsername","***");
            initParameters.put("loginPassword","***");
            initParameters.put("resetEnable","true");
            bean.setInitParameters(initParameters);
            bean.setUrlMappings(Arrays.asList("/druid/*"));
            return bean;
        }
        @Bean
        public FilterRegistrationBean webFileter(){
            FilterRegistrationBean bean = new FilterRegistrationBean(new WebStatFilter());
            Map<String, String> initParameters=new HashMap<>();
            initParameters.put("exclusions","*.js,*.css,*.png,*.jpg,/druid/*");
            bean.setInitParameters(initParameters);
            bean.setUrlPatterns(Arrays.asList("/*"));
            return bean;
        }
    }

    关于参数的一些说明:

      loginUsername:    登录监控系统的用户名

        loginPassword:    登录监控控系统的密码

      resetEnable:   是否允许重置数据
    还可以设置的参数包括:
      allow: 允许登录的ip地址(不填默认为允许所有)
      deny:   拒绝登录的ip地址(拒绝的优先级比同意的优先级高) 

    3.配置数据库的相关数据:

    spring.datasource.driverClassName=
    spring.datasource.username=
    spring.datasource.password=
    spring.datasource.url=
    spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
    spring.datasource.maxActive=80
    spring.datasource.queryTimeout=3000
    spring.datasource.poolPreparedStatements=true
    spring.datasource.filters=stat,wall
    spring.datasource.connectionProperties=druid.stat.mergeSql=true;druuid.stat.slowSqlMillis=500
    spring.datasource.useGlobalDataSourceStat=true
    spring.datasource.validationQuery=select 1 from dual

    大体上就只需要这几部就搞定啦!当项目启动之后可以访问*/druid/目录来查看监控页面,这只是一个简单的配置,如果想要实现更加完善或者个性化的功能可以参考官网自主改造~

      

  • 相关阅读:
    验证码的编写 asp.net
    甲骨文收购Sun,IT业界进入三国时代
    动态加载css文件导致IE8崩溃的问题
    页面调试中关于Console应该注意的地方
    关于仿网易邮箱5.0的Neter UI框架的开源声明
    仿网易邮箱5.0(二):core.js
    仿网易邮箱5.0(三):panel.js
    仿网易邮箱5.0(一):页面基本样式
    Windows下配置Sass编译环境
    ASP+Access查询时按时间进行查询
  • 原文地址:https://www.cnblogs.com/shuyuq/p/10832598.html
Copyright © 2011-2022 走看看