• springboot中druid监控的配置(DruidConfiguration)


    当数据库连接池使用druid 时,我们进行一些简单的配置就能查看到sql监控,web监控,url监控等等。

    以springboot为例,配置如下

    import com.alibaba.druid.support.http.StatViewServlet;
    import com.alibaba.druid.support.http.WebStatFilter;
    import org.mybatis.spring.SqlSessionFactoryBean;
    import org.springframework.beans.factory.annotation.Qualifier;
    import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder;
    import org.springframework.boot.context.properties.ConfigurationProperties;
    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.context.annotation.Primary;
    import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
    import org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor;
    
    import javax.sql.DataSource;
    
    /**
     * springboot继承 druid监控
     */
    @Configuration
    public class DruidConfiguration {
    
        @Bean
        public ServletRegistrationBean statViewServlet() {
            ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*");
            //白名单:
            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.100");
            //登录查看信息的账号密码.
            servletRegistrationBean.addInitParameter("loginUsername", "druid");
            servletRegistrationBean.addInitParameter("loginPassword", "12345678");
            //是否能够重置数据.
            servletRegistrationBean.addInitParameter("resetEnable", "false");
            return servletRegistrationBean;
        }
    
        @Bean
        public FilterRegistrationBean statFilter() {
            FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new WebStatFilter());
            //添加过滤规则.
            filterRegistrationBean.addUrlPatterns("/*");
            //添加不需要忽略的格式信息.
            filterRegistrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");
            return filterRegistrationBean;
        }
    
        @Bean
        PersistenceExceptionTranslationPostProcessor persistenceExceptionTranslationPostProcessor() {
            return new PersistenceExceptionTranslationPostProcessor();
        }
    
        //配置数据库的基本链接信息
        @Bean(name = "dataSource")
        @Primary
        @ConfigurationProperties(prefix = "spring.datasource")    //可以在application.properties中直接导入
        public DataSource dataSource() {
            return DataSourceBuilder.create().type(com.alibaba.druid.pool.DruidDataSource.class).build();
        }
    
        @Bean
        public SqlSessionFactoryBean sqlSessionFactory(@Qualifier("dataSource") DataSource dataSource) throws Exception {
            SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
            bean.setDataSource(dataSource);
            PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
            bean.setMapperLocations(resolver.getResources("classpath:/mappers/*.xml"));
            return bean;
        }
    }
    

     

    配置完成之后,我们就可以访问url进行登录并查看

     

     

     

  • 相关阅读:
    错误与异常_2-11选择题
    错误与异常_2-10选择题
    错误与异常_2-8选择题
    错误与异常_2-7选择题
    C#定时器
    C#动态webservice调用接口
    C# webservice返回Xml格式文件
    C#创建简单的Xml文件
    获取数据库中指定类型的数据库名称
    C#生成Xml以UTF-8无BOM格式编码
  • 原文地址:https://www.cnblogs.com/devise/p/9974663.html
Copyright © 2020-2023  润新知