SpringBoot
intellij idea
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(); } }
配置监听操作的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(); } }
设置访问的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(); }}
为了更好的说明问题,建议建立一个控制器进行业务层的调用。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(); }}
利用监控可以方便的进行程序的管理,这一点在企业开发之中只管重要。