1.添加依赖

<!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.1.12</version>
</dependency>

注意这里还要引入log4j的依赖!不然会报错

        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>

2.更改配置文件件中数据源的type属性

spring:
  datasource:
    #   数据源基本配置
    username: root
    password: 983934
    url: jdbc:mysql://127.0.0.1:3306/spring-boot-learn?serverTimezone=UTC
    driver-class-name: com.mysql.cj.jdbc.Driver
    type: com.alibaba.druid.pool.DruidDataSource

添加完一些druid配置之后的配置文件如下:

spring:
  datasource:
    #   数据源基本配置
    username: root
    password: 983934
    url: jdbc:mysql://127.0.0.1:3306/spring-boot-learn?serverTimezone=UTC
    driver-class-name: com.mysql.cj.jdbc.Driver
    type: com.alibaba.druid.pool.DruidDataSource
    #   数据源其他配置
    initialSize: 5
    minIdle: 5
    maxActive: 20
    maxWait: 60000
    timeBetweenEvictionRunsMillis: 60000
    minEvictableIdleTimeMillis: 300000
    validationQuery: SELECT 1 FROM DUAL
    testWhileIdle: true
    testOnBorrow: false
    testOnReturn: false
    poolPreparedStatements: true
    #   配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
    filters: stat,wall,log4j
    maxPoolPreparedStatementPerConnectionSize: 20
    useGlobalDataSourceStat: true
    connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500

3.添加DruidConfig类,使配置文件中关于Druid的配置生效

package com.moti.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;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;

@Configuration
public class DruidConfig {
    
    //绑定配置文件中的相关属性
    @ConfigurationProperties(prefix = "spring.datasource")
    @Bean
    public DataSource druid(){
        return new DruidDataSource();
    }

    //配置Druid的监控
    //1、配置一个管理后台的Servlet
    @Bean
    public ServletRegistrationBean statViewServlet(){
        ServletRegistrationBean bean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*");
        Map<String,String> initParams = new HashMap<>();
        initParams.put("loginUsername","admin");
        initParams.put("loginPassword","123456");
        initParams.put("allow","");//默认就是允许所有访问
//        initParams.put("deny","127.0.0.1");//拒绝访问的IP
        bean.setInitParameters(initParams);
        return bean;
    }

    //2、配置一个web监控的filter
    @Bean
    public FilterRegistrationBean webStatFilter(){
        FilterRegistrationBean bean = new FilterRegistrationBean();
        bean.setFilter(new WebStatFilter());
        Map<String,String> initParams = new HashMap<>();
        initParams.put("exclusions","*.js,*.css,/druid/*");
        bean.setInitParameters(initParams);
        bean.setUrlPatterns(Arrays.asList("/*"));
        return  bean;
    }
}

4.浏览器访问http://localhost:8080/druid/ 即可访问后台管理

最后修改日期:2020-07-12

作者

留言

Very good article! We are linking to this particularly great post on our website. Keep up the great writing. Roxine Powell Minoru

The trader quote will remain no matter what happens, I have to understand it and try to use it in favor Peggy Jacob Feldstein

I have learn several good stuff here. Definitely value bookmarking for revisiting. I wonder how a lot effort you put to make this kind of fantastic informative website. Wally Christie Lazos

You have made some good points there. I looked on the net for more information about the issue and found most individuals will go along with your views on this web site. Miguelita Renard Peers

You made some good points there. I looked on the internet for the subject and found most individuals will go along with with your site. Carline Corbet Rieth Glynnis Templeton McGinnis

As I website possessor I believe the content material here is rattling great , appreciate it for your efforts. You should keep it up forever! Best of luck. Tierney Akim Tab

I am interested in boxing classes. How much would it cost for a membership, I know the first two classes are free. Marti Alfons Wenz

You made some nice points there. I looked on the internet for the subject matter and found most individuals will agree with your site. Karyn Ulises Nixie

How can I get more helpful information? I love sucking dick btw hmu Trula Courtnay Yorgen

check below, are some completely unrelated internet sites to ours, even so, they may be most trustworthy sources that we use Louella Peter Brill

To link your Facebook and Twitter accounts, open the Instagram app on your phone or tablet, and select the Profile tab in the bottom-right corner of the screen. Alyda Rodrique Tedie

I am really inspired along with your writing skills and also with the structure on your weblog. Is that this a paid subject matter or did you modify it yourself? Either way stay up the excellent high quality writing, it is uncommon to peer a great blog like this one these days.. Tedi Casey Procora

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。