SpringBoot整合Mybatis实现Druid监控

2025-11-14 05:04:11

1、druid数据库连接池之所以使用非常广泛,其最主要的原因在于它可以直接提供性能监控。那么本次针对当前已经实现好的druid配置来进行性能监控的处理配置。

1、如果要想进行druid的性能的监控操作,则需要做一些基础配置,例如:你访问的IP地址是否是白名单。

在配置类中得到数据独毙往源的配置:

package com.gwolf.config;

import com.alibaba.druid.pool.DruidDataSource;

import com.alibaba.druid.support.http.StatViewServlet;

import com.alibaba.druid.support.http.WebStatFilter;

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 javax.sql.DataSource;

@Configuration

public class DruidConfig {

    @Bean

    @ConfigurationProperties(prefix = "spring.datasource")

 吐菊   public DataSource druidDataSource() {

        return new DruidDataSource();

    }

    

}

SpringBoot整合Mybatis实现Druid监控

2、配置监听操作的servlet。

package com.gwolf.config;

import com.alibaba.druid.pool.DruidDataSource;

import com.alibaba.druid.support.http.StatViewServlet;

import com.alibaba.druid.support.http.WebStatFilter;

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 javax.sql.DataSource;

@Configuration

public class DruidConfig {

    @Bean

    public ServletRegistrationBean druidServlet() { //主况蚂要实现web监控的配置处理

        ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(

                new StatViewServlet(),"/druid/*");

        servletRegistrationBean.addInitParameter("allow","127.0.0.1");

        servletRegistrationBean.addInitParameter("loginUsername","admin");

        servletRegistrationBean.addInitParameter("loginPassword","admin");

        servletRegistrationBean.addInitParameter("resetEnable","false");

        return servletRegistrationBean;

    }

    

    @Bean

    @ConfigurationProperties(prefix = "spring.datasource")

    public DataSource druidDataSource() {

        return new DruidDataSource();

    }

    

   

}

SpringBoot整合Mybatis实现Druid监控

3、设置访问的filter配置:

package com.gwolf.config;

import com.alibaba.druid.pool.DruidDataSource;

import com.alibaba.druid.support.http.StatViewServlet;

import com.alibaba.druid.support.http.WebStatFilter;

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 javax.sql.DataSource;

@Configuration

public class DruidConfig {

    @Bean

    public FilterRegistrationBean filterRegistrationBean() {

        FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();

        filterRegistrationBean.setFilter(new WebStatFilter());

        filterRegistrationBean.addUrlPatterns("/*");

        filterRegistrationBean.addInitParameter("exclusions","*.js,*.gif,*.jpg,*.css,/druid/*");

        return filterRegistrationBean;

    }

    

    @Bean

    public ServletRegistrationBean druidServlet() { //主要实现web监控的配置处理

        ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(

                new StatViewServlet(),"/druid/*");

        servletRegistrationBean.addInitParameter("allow","127.0.0.1");

        servletRegistrationBean.addInitParameter("loginUsername","admin");

        servletRegistrationBean.addInitParameter("loginPassword","admin");

        servletRegistrationBean.addInitParameter("resetEnable","false");

        return servletRegistrationBean;

    }

    

    @Bean

    @ConfigurationProperties(prefix = "spring.datasource")

    public DataSource druidDataSource() {

        return new DruidDataSource();

    }

}

SpringBoot整合Mybatis实现Druid监控

4、为了更好的说明问题,建议建立一个控制器进行业务层的调用。

package com.gwolf.controller;

import com.gwolf.service.IDeptService;

import com.gwolf.service.IMemberService;

import com.gwolf.util.controller.AbstractBaseController;

import com.gwolf.vo.Member;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Controller;

import org.springframework.validation.BindingResult;

import org.springframework.validation.ObjectError;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestMethod;

import org.springframework.web.bind.annotation.ResponseBody;

import org.springframework.web.bind.annotation.RestController;

import javax.validation.Valid;

import java.util.Iterator;

@RestController

public class DeptController extends AbstractBaseController{

    @Autowired

    private IDeptService deptService;

    

    @RequestMapping(value="/list", method = RequestMethod.GET)

    @ResponseBody

    public Object list() {

        

        return this.deptService.getAll();

    }

}

SpringBoot整合Mybatis实现Druid监控

5、如果要想进行监控还需要开启一个过滤配置,而这个过滤配置的开启需要通过application.yml文件配置;

server:

  port: 8080

spring:

  messages:

    basename: i18n/Message,i18n/Pages #资源文件的名称

  datasource:

    #配置当前要使用的数据源的操作类型

    type: com.alibaba.druid.pool.DruidDataSource

    driver-class-name: org.gjt.mm.mysql.Driver

    url: jdbc:mysql://localhost:3306/mldn_1

    username: root

    password: root

    filters:  stat,wall,log4j

    dbcp2:

      min-idle: 5

      initial-size: 5

      max-total: 5

      max-wait-millis: 200

mybatis:

  config-location: classpath:mybatis/mybatis.cfg.xml

  type-aliases-package: com.gwolf.vo

  mapper-locations: 

  - classpath:mybatis/mapper/**/*.xml

SpringBoot整合Mybatis实现Druid监控

6、利用监控可以方便的进行程序的管理,这一点在企业开发之中只管重要。

SpringBoot整合Mybatis实现Druid监控

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢