• <menu id="ckmo6"></menu>
  • <input id="ckmo6"><u id="ckmo6"></u></input>
    <menu id="ckmo6"></menu>
  • <input id="ckmo6"><acronym id="ckmo6"></acronym></input>
  • Spring Boot 自定义数据源 DruidDataSource

    一、添加依赖

    <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.0.26</version>
        </dependency>

    二、配置application.yml

    spring:
        datasource:
    url: jdbc:mysql://127.0.0.1:3306/mxntest?characterEncoding=UTF-8
    username: root
    password: root
    driver-class-name: com.mysql.jdbc.Driver
    type: com.alibaba.druid.pool.DruidDataSource
    # 初始化大小,最小,最大
    initialSize: 5
    minIdle: 5
    maxActive: 50
    # 配置获取连接等待超时的时间
    maxWait: 60000

    三、Druid数据源配置

    package com.example.demo.config;
    
    /** * @author 12084 * @create 2018-08-09 11:27 */
    
    import com.alibaba.druid.pool.DruidDataSource;
    import com.alibaba.druid.support.http.StatViewServlet;
    import com.alibaba.druid.support.http.WebStatFilter;
    import org.springframework.beans.factory.annotation.Value;
    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 org.springframework.context.annotation.Primary;
    
    import javax.sql.DataSource;
    import java.sql.SQLException;
    import java.util.HashMap;
    import java.util.Map;
    
    /** * Druid数据源配置 */
    @Configuration
    public class DataSourceConfig {
    
    private static String dbUrl;
    
    private static String username;
    
    private static String password;
    
    private static String driverClassName;
    
    private static int initialSize;
    
    private static int minIdle;
    
    private static int maxActive;
    
    private static int maxWait;
    
    /** * 注册DruidServlet * * @return */
    @Bean
    public ServletRegistrationBean druidServletRegistrationBean() {
        ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean();
        servletRegistrationBean.setServlet(new StatViewServlet());
        servletRegistrationBean.addUrlMappings("/druid/*");
        //登录查看信息的账号密码.
        servletRegistrationBean.addInitParameter("loginUsername", "admin");
        servletRegistrationBean.addInitParameter("loginPassword", "123456");
        return servletRegistrationBean;
    }
    
    /** * 注册DruidFilter拦截 * * @return */
    @Bean
    public FilterRegistrationBean druidFilterRegistrationBean() {
        FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
        filterRegistrationBean.setFilter(new WebStatFilter());
        Map<String, String> initParams = new HashMap<String, String>();
        //设置忽略请求
        initParams.put("exclusions", "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*");
        filterRegistrationBean.setInitParameters(initParams);
        filterRegistrationBean.addUrlPatterns("/*");
        return filterRegistrationBean;
    }
    
    /** * 配置DataSource * @return * @throws SQLException */
    @Bean(initMethod = "init",destroyMethod = "close")
    @Primary
    public DataSource dataSource() throws SQLException {
        DruidDataSource druidDataSource = new DruidDataSource();
        druidDataSource.setUsername(username);
        druidDataSource.setPassword(password);
        druidDataSource.setUrl(dbUrl);
        druidDataSource.setFilters("stat,wall");
        druidDataSource.setInitialSize(initialSize);
        druidDataSource.setMinIdle(minIdle);
        druidDataSource.setMaxActive(maxActive);
        druidDataSource.setMaxWait(maxWait);
        druidDataSource.setUseGlobalDataSourceStat(true);
        druidDataSource.setDriverClassName(driverClassName);
        return druidDataSource;
    }
    
    @Value("${spring.datasource.url}")
    public void setDbUrl(String dbUrl) {
        DataSourceConfig.dbUrl = dbUrl;
    }
    
    @Value("${spring.datasource.username}")
    public void setUsername(String username) {
        DataSourceConfig.username = username;
    }
    
    @Value("${spring.datasource.password}")
    public void setPassword(String password) {
        DataSourceConfig.password = password;
    }
    
    @Value("${spring.datasource.driver-class-name}")
    public void setDriverClassName(String driverClassName) {
        DataSourceConfig.driverClassName = driverClassName;
    }
    
    @Value(value = "${spring.datasource.initialSize}")
    public void setInitialSize(int initialSize) {
        DataSourceConfig.initialSize = initialSize;
    }
    
    @Value(value = "${spring.datasource.minIdle}")
    public void setMinIdle(int minIdle) {
        DataSourceConfig.minIdle = minIdle;
    }
    
    @Value(value = "${spring.datasource.maxActive}")
    public void setMaxActive(int maxActive) {
        DataSourceConfig.maxActive = maxActive;
    }
    
    @Value(value = "${spring.datasource.maxWait}")
    public void setMaxWait(int maxWait) {
        DataSourceConfig.maxWait = maxWait;
    }
    
    }

    四、http://localhost:8080/druid/index.html 就可以查看,如果配置密码则输入密码

    //登录查看信息的账号密码.
        servletRegistrationBean.addInitParameter("loginUsername", "admin");
        servletRegistrationBean.addInitParameter("loginPassword", "123456");
    相关文章
    相关标签/搜索
    香港精选免费资料大全 大关县| 资溪县| 盈江县| 涿鹿县| 昆明市| 类乌齐县| 中宁县| 九寨沟县| 平昌县| 定日县| 彝良县| 漳浦县| 郁南县| 邢台县| 理塘县| 隆化县| 林州市| 思南县| 建昌县| 浦北县| 西昌市| 娱乐| 临夏县| 金秀| 墨竹工卡县| 收藏| 洱源县| 双柏县| 富源县| 河南省| 伊金霍洛旗| 文成县| 白玉县| 七台河市| 内乡县| 涿鹿县| 中超| http://fa.hz0j1r1vo.fun http://fa.hz0j2r4vo.fun http://fa.hz0j2r8vo.fun http://fa.hz0j1r8vo.fun http://fa.hz0j1r3vo.fun