zoukankan      html  css  js  c++  java
  • springboot集成druid数据源

    package com.book.app.utils;

    import java.util.HashMap;
    import java.util.Map;

    import javax.sql.DataSource;

    import org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator;
    import org.springframework.boot.bind.RelaxedPropertyResolver;
    import org.springframework.boot.web.servlet.FilterRegistrationBean;
    import org.springframework.boot.web.servlet.ServletRegistrationBean;
    import org.springframework.context.EnvironmentAware;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.core.env.Environment;

    import com.alibaba.druid.pool.DruidDataSource;
    import com.alibaba.druid.support.http.StatViewServlet;
    import com.alibaba.druid.support.http.WebStatFilter;
    import com.alibaba.druid.support.spring.stat.DruidStatInterceptor;
    @Configuration
    public class DruidDataSourceConfig implements EnvironmentAware {

    private RelaxedPropertyResolver propertyResolver;
    /**
    * 功能:可以看druid的一些信息,不看可以不配
    */
    public void setEnvironment(Environment env) {
    this.propertyResolver = new RelaxedPropertyResolver(env,"spring.datasource.");
    }
    @Bean
    public DataSource dataSource() {
    DruidDataSource dataSource = new DruidDataSource();
    dataSource.setUrl(propertyResolver.getProperty("url"));
    dataSource.setDriverClassName(propertyResolver.getProperty("driver-class-name"));
    dataSource.setPassword(propertyResolver.getProperty("password"));
    dataSource.setUsername(propertyResolver.getProperty("username"));
    try {
    dataSource.setFilters("stat,wall");
    } catch (Exception e) {
    e.printStackTrace();
    }
    return dataSource;
    }
    @Bean
    public ServletRegistrationBean druidServlet() {
    ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean();
    servletRegistrationBean.setServlet(new StatViewServlet());
    servletRegistrationBean.addUrlMappings("/druid/*");
    Map<String, String> initParameters = new HashMap<String,String>();
    initParameters.put("resetEnable","false");
    initParameters.put("allow", "127.0.0.1");
    servletRegistrationBean.setInitParameters(initParameters);
    return servletRegistrationBean;

    }
    @Bean
    public FilterRegistrationBean filterRegistrationBean() {
    FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
    filterRegistrationBean.setFilter(new WebStatFilter());
    filterRegistrationBean.addUrlPatterns("/*");
    filterRegistrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.bmp,*.png,*.css");
    return filterRegistrationBean;
    }
    @Bean
    public DruidStatInterceptor druidStatInterceptor() {
    DruidStatInterceptor druidStatInterceptor = new DruidStatInterceptor();
    return druidStatInterceptor;
    }

    public BeanNameAutoProxyCreator beanNameAutoProxyCreator() {
    BeanNameAutoProxyCreator beanNameAutoProxyCreator = new BeanNameAutoProxyCreator();
    beanNameAutoProxyCreator.setProxyTargetClass(true);
    beanNameAutoProxyCreator.setInterceptorNames("druid-stat-interceptor");
    return beanNameAutoProxyCreator;
    }

    }

  • 相关阅读:
    Swagger UI教程 API 文档神器 搭配Node使用 web api 接口文档 (转)
    C#测试web服务是否可用(转)
    使用Fiddler测试WebApi接口
    .Net 序列化(去除默认命名空间,添加编码)
    Win10 下Cisco AnyConnect Secure Mobility Client问题(转)
    jQuery.extend 函数详解(转)
    Oracle 取Group By 第一条
    EFProf用法
    c#和JS数据加密(转)
    C#中字符数组,字节数组和string之间的转化(转)
  • 原文地址:https://www.cnblogs.com/manager222/p/10077372.html
Copyright © 2011-2022 走看看