druid 1.2.23版本配置监控页面

一、新建一个Configuration类:
@Configuration
public class DataSourceConfig implements WebMvcConfigurer {
    @ConfigurationProperties("spring.datasource")
    @ConditionalOnProperty(name = "spring.datasource.type", havingValue = "com.alibaba.druid.pool.DruidDataSource")
    @Bean
    public DataSource dataSource(){
        DruidDataSource druidDataSource = new DruidDataSource();
        return druidDataSource;
    }
    /**
     * 开启 Druid 数据源内置监控页面
     *
     * @return
     */
    @Bean("statViewServlet")
    public ServletRegistrationBean statViewServlet() {
        StatViewServlet statViewServlet = new StatViewServlet();
        //向容器中注入 StatViewServlet,并将其路径映射设置为 /druid/*
        ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(statViewServlet, "/druid/*");
        //配置监控页面访问的账号和密码(选配)
        servletRegistrationBean.addInitParameter("loginUsername", "admin");
        servletRegistrationBean.addInitParameter("loginPassword", "123456");
        return servletRegistrationBean;
    }
    @Bean
    public StatFilter statFilter() {
        StatFilter statFilter = new StatFilter();
        //慢sql记录
        statFilter.setLogSlowSql(true);
        statFilter.setMergeSql(true);
        //超过多少时间为慢sql
        statFilter.setSlowSqlMillis(5000);
        return statFilter;
    }
    /**
     * 配置一个web监控的filter
     */
    @Bean("webStatFilter")
    @ConditionalOnClass(DruidDataSource.class)
    public FilterRegistrationBean webStatFilter(){
        Map<String,String> initParams = new HashMap<>();
        // 这些不进行统计
        initParams.put("exclusions","*.js,*.css,*.gif,*.png,/druid/*");
        FilterRegistrationBean bean = new FilterRegistrationBean();
        //白名单
        //bean.addInitParameter("allow", "");//多个ip逗号隔开
        //IP黑名单 (存在共同时,deny优先于allow) : 如果满足deny的话提示:Sorry, you are not permitted to view this page.
        //servletRegistrationBean.addInitParameter("deny", "");
        WebStatFilter webStatFilter= new WebStatFilter();
        webStatFilter.setSessionStatEnable(true);
        bean.setFilter(webStatFilter);
        bean.setInitParameters(initParams);
        bean.setUrlPatterns(Arrays.asList("/*"));
        return  bean;
    }
}

二、在application.yml增加以下配置:

spring:
  jackson:
    ## 默认序列化时间格式
    date-format: yyyy-MM-dd HH:mm:ss
    ## 默认序列化时区
    time-zone: GMT+8
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/fastermaker?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&autoReconnect=true&allowMultiQueries=true
    username: root
    password: 1234
    # 初始化大小,最小,最大
    initialSize: 1
    minIdle: 3
    maxActive: 20
    # 配置获取连接等待超时的时间
    maxWait: 60000
    # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
    timeBetweenEvictionRunsMillis: 60000
    # 配置一个连接在池中最小生存的时间,单位是毫秒
    minEvictableIdleTimeMillis: 30000
    validationQuery: select 'x'
    testWhileIdle: true
    testOnBorrow: false
    testOnReturn: false
    # 打开PSCache,并且指定每个连接上PSCache的大小
    poolPreparedStatements: true
    maxPoolPreparedStatementPerConnectionSize: 20
    # 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
    filters: stat,wall,slf4j
    # 通过connectProperties属性来打开mergeSql功能;慢SQL记录
    connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000

相关推荐

  1. druid 1.2.23版本配置监控页面

    2024-07-15 14:40:02       20 阅读
  2. 在spring boot中集成druid的数据监控页面

    2024-07-15 14:40:02       67 阅读
  3. Druid数据库连接池配置

    2024-07-15 14:40:02       45 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-15 14:40:02       70 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-15 14:40:02       74 阅读
  3. 在Django里面运行非项目文件

    2024-07-15 14:40:02       62 阅读
  4. Python语言-面向对象

    2024-07-15 14:40:02       72 阅读

热门阅读

  1. Python学习1---深浅拷贝

    2024-07-15 14:40:02       21 阅读
  2. 多语言环境大师:在PyCharm中管理多个Python解释器

    2024-07-15 14:40:02       23 阅读
  3. SSLRec代码分析

    2024-07-15 14:40:02       21 阅读
  4. Linux系统之部署盖楼小游戏

    2024-07-15 14:40:02       20 阅读
  5. MySQL 其他

    2024-07-15 14:40:02       23 阅读
  6. 设计模式--工厂设计模式

    2024-07-15 14:40:02       23 阅读
  7. Windows图形界面(GUI)-SDK-C/C++ - 组合框(ComboBox)

    2024-07-15 14:40:02       27 阅读
  8. vue3实现一个接球小游戏

    2024-07-15 14:40:02       19 阅读
  9. 安装 MySQL与修改配置流程

    2024-07-15 14:40:02       19 阅读
  10. html dialog不显示边框

    2024-07-15 14:40:02       24 阅读