1.导入依赖到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.编写druid的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/*");
}
}
3.配置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.可以直接启动看监控啦:localhost:端口号/druid
注意:导入springboot的druid可以直接在application.properties有提示的配置,不需要Config类,导入普通的jar则需要配置类。