SpringBoot配置druid筆記

 

1.首先引入druid的jar包,如:

<!--引入druid數據源-->
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>druid</artifactId>
			<version>1.0.9</version>
		</dependency>

2.設置application.properties文件

##數據庫配置文件
spring.datasource.username=root
spring.datasource.password=098879
spring.datasource.url=jdbc:mysql://192.168.199.190:3306/jdbc
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource

spring.datasource.initialSize= 5
spring.datasource.minIdle= 5
spring.datasource.maxActive= 20
spring.datasource.maxWait= 60000
spring.datasource.timeBetweenEvictionRunsMillis= 60000
spring.datasource.minEvictableIdleTimeMillis= 300000
spring.datasource.validationQuery= SELECT 1 FROM DUAL
spring.datasource.testWhileIdle= true
spring.datasource.testOnBorrow= false
spring.datasource.testOnReturn= false
spring.datasource.poolPreparedStatements= true
#   配置監控統計攔截的filters,去掉後監控界面sql無法統計,'wall'用於防火牆
spring.datasource.filters= stat,wall,log4j
spring.datasource.maxPoolPreparedStatementPerConnectionSize= 20
spring.datasource.useGlobalDataSourceStat= true
spring.datasource.connectionProperties= druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500
#    schema:
#      - classpath:department.sql

3.可以使用test類測試數據源的情況:

@Test
	public void contextLoads() throws SQLException {

		System.out.println(dataSource.getClass());

		Connection connection=dataSource.getConnection();

		System.out.println(connection);
		connection.close();
	}

4.設置druid數據源的配置:

package com.atguigu.springboot.config;

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 com.alibaba.druid.pool.DruidDataSource;

import javax.sql.DataSource;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;


/**
 * druid數據庫連接池
 */
@Configuration
public class DruidConfig {

    @ConfigurationProperties(prefix="spring.datasource")
    @Bean
    public DataSource druid(){
        return new DruidDataSource();
    }

    //http://localhost:8082/druid/login.html  這是登錄的地址,用戶名和密碼是自己配置的
    //配置Druid的監控器
    //1.配置一個管理後臺的servlet
    @Bean
    public ServletRegistrationBean statViewServlet(){
        //我們處理/druid下的所有請求
        ServletRegistrationBean servletRegistrationBean=new ServletRegistrationBean(new StatViewServlet(),"/druid/*");

        //配置參數
        Map<String,String> initParams=new HashMap<>();
        initParams.put("loginUsername","root");
        initParams.put("loginPassword","098879");
        //允許什麼登錄,這個就只有localhost訪問,如果不寫,那就是允許所有人訪問。
        initParams.put("allow","localhost");
        //拒絕別人訪問
        initParams.put("vdeny","192.168.15.21");

        servletRegistrationBean.setInitParameters(initParams);
        return servletRegistrationBean;
    }


    //2.配置一個監控的filter
    @Bean
    public FilterRegistrationBean webStatFilter(){
        FilterRegistrationBean filterRegistrationBean=new FilterRegistrationBean();
        filterRegistrationBean.setFilter(new WebStatFilter());

        Map<String,String> initParams=new HashMap<>();
        //哪些可以不攔截
        initParams.put("exclusions","*.js,*.css,/druid/*");
        /*initParams.put("","");
        initParams.put("","");
        initParams.put("","");*/
        filterRegistrationBean.setInitParameters(initParams);
        //攔截URL 這裏是攔截所有的請求
        filterRegistrationBean.setUrlPatterns(Arrays.asList("/*"));

        return filterRegistrationBean;
    }
}

5.輸入自己對應的網址:

筆記記錄來源尚硅谷視頻 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章