多语言展示
当前在线:1212今日阅读:60今日分享:41

SpringBoot整合Mybatis实现Druid监控

SpringBoot整合Mybatis实现Druid监控
工具/原料
1

SpringBoot

2

intellij idea

方法/步骤
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();    }    }

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();    }       }

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();    }}

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();    }}

6

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

推荐信息