SpringBoot整合Mybatis实现Druid监控

2025-06-09 00:07:27

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;@Configurationpublic 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;@Configurationpublic 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;@Configurationpublic 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;@RestControllerpublic 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: 8080spring: 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: 200mybatis: 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。
猜你喜欢