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/目录来查看监控页面,这只是一个简单的配置,如果想要实现更加完善或者个性化的功能可以参考官网自主改造~

  

原文地址:https://www.cnblogs.com/shuyuq/p/10832598.html