springboot integration druid, turn on monitoring

1. Dependence to import file pom

 <!-- druid -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.14</version>
        </dependency>


        <!-- google guava工具类包-->
        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>27.1-jre</version>
        </dependency>

2. Write the druid class Config

package com.example.demo.config;

import com.alibaba.druid.filter.Filter;
import com.alibaba.druid.filter.stat.StatFilter;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.support.http.StatViewServlet;
import com.google.common.collect.Lists;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**druid的配置类
 * @author sy
 * @date 2019/3/14 17:35
 */

@Configuration
public class DruidConfig {

    //会扫描application.properties文件的以spring.druid开头的数据注入
    @ConfigurationProperties(prefix = "spring.druid")    
    @Bean(initMethod = "init",destroyMethod = "close") //跟着spring一块启动,一块关闭
    public DruidDataSource dataSource(){

        DruidDataSource dataSource = new DruidDataSource();
        dataSource.setProxyFilters(Lists.newArrayList(statFilter()));//Lists是guava包
        return dataSource;
    }

    //alibaba的监听器,打印慢sql
    @Bean
    public Filter statFilter(){

        StatFilter filter = new StatFilter();
        filter.setSlowSqlMillis(1);
        filter.setLogSlowSql(true);
        filter.setMergeSql(true);
        return filter;

    }

    @Bean
    public ServletRegistrationBean servletRegistrationBean(){
        return new ServletRegistrationBean(new StatViewServlet(),"/druid/*");

    }


}

Configuration files application.properties


#tomcat-jdbc连接池配置:不推荐使用
#spring.datasource.url=jdbc:mysql://localhost:3306/houses?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&useSSL=false
#spring.datasource.username=root
#spring.datasource.password=root
#spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

#druid 阿里巴巴下的一个开源连接池:功能强大,可以监控,稳定。
spring.druid.driverClassName=com.mysql.cj.jdbc.Driver
spring.druid.url=jdbc:mysql://localhost:3306/houses?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&useSSL=false
spring.druid.username=root
spring.druid.password=root
#最大连接数
spring.druid.maxActive=30
#最小连接数
spring.druid.minIdle=5
#获取连接的最大等待时间
spring.druid.maxWait=10000
#解决mysql8小时的问题
spring.druid.validationQuery=SELECT 'x'

4. Monitoring can be started directly see it: localhost: port number / druid

Note: The introduction springboot application.properties druid can immediately prompt the configuration, no Config type, it is necessary to import the jar common configuration class.

Guess you like

Origin blog.csdn.net/weixin_42533856/article/details/88558612