pom.xml
<!-- druid,使用这个druid的包,需要写DruidConfig配置注入文件 -->
<!-- <dependency>-->
<!-- <groupId>com.alibaba</groupId>-->
<!-- <artifactId>druid</artifactId>-->
<!-- <version>1.1.9</version>-->
<!-- </dependency>-->
<!-- springboot整合的druid包,会自动注入,用这个就可以 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.4</version>
</dependency>
第一种写法:
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;
@Configuration
public class DruidConfig {
//注册 Servlet 组件
@Bean
public ServletRegistrationBean statViewServlet(){
ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*");
/*servletRegistrationBean.addInitParameter("allow", "192.168.1.3"); //白名单IP*/
servletRegistrationBean.addInitParameter("loginUsername", "admin");
servletRegistrationBean.addInitParameter("loginPassword", "admin");
return servletRegistrationBean;
}
// 注册 Filter 组件
@Bean
public FilterRegistrationBean statFilter(){
FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new WebStatFilter());
//验证所有请求
filterRegistrationBean.addUrlPatterns("/*");
//对 *.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/* 不进行验证
filterRegistrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");
return filterRegistrationBean;
}
/*
将全局配置文件中的前缀为spring.datasource的属性注入到com.alibaba.druid.pool.DruidDataSource的同名属性中
将自定义得Druid数据源添加到容器中,不再让springboot自动创建
*/
@ConfigurationProperties(prefix="spring.datasource")
@Bean
public DataSource druidDatasource(){
return new DruidDataSource();
}
}
properties配置文件
spring.datasource.url=
spring.datasource.username=
spring.datasource.password=
spring.datasource.driver-class-name=
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
#初始化连接池、最小、最大
spring.datasource.initialSize = 5
spring.datasource.minIdle = 1
spring.datasource.maxActive = 20
#设置获取超时等待的时间
spring.datasource.maxWait = 60000
#配置一个连接在池中最小生存时间,单位是毫秒
spring.datasource.minEvictableIdleTimeMillis=300000
spring.datasource.validationQuery=SELECT 1 FROM DUAL
spring.datasource.testWhileIdle=true
spring.datasource.testOnBorrow=false
spring.datasource.testOnReturn=false
# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
spring.datasource.filters=stat,wall,logback
浏览器请求:http://localhost:后台端口/druid/login.html
第二种写法:
pom.xml
spring.datasource.url=jdbc:xxx
spring.datasource.username=xxx
spring.datasource.password=xxx
spring.datasource.driver-class-name=xxx
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
#初始化连接池、最小、最大
spring.datasource.druid.initial-size=5
spring.datasource.druid.min-idle=1
spring.datasource.druid.max-active=20
#设置获取超时等待的时间
spring.datasource.druid.max-wait=60000
#配置一个连接在池中最小生存时间,单位是毫秒
spring.datasource.druid.min-evictable-idle-time-millis=300000
# Druid WebStatFilter配置,说明请参考Druid Wiki,配置_配置WebStatFilter
spring.datasource.druid.web-stat-filter.enabled=true
spring.datasource.druid.web-stat-filter.url-pattern=/*
spring.datasource.druid.web-stat-filter.exclusions=*.gif,*.png,*.jpg,*.html,*.js,*.css,*.ico,/druid/*
# Druid StatViewServlet配置,说明请参考Druid Wiki,配置_StatViewServlet配置
spring.datasource.druid.stat-view-servlet.enabled=true
spring.datasource.druid.stat-view-servlet.url-pattern=/druid/*
spring.datasource.druid.stat-view-servlet.reset-enable=true
spring.datasource.druid.stat-view-servlet.login-username=admin
spring.datasource.druid.stat-view-servlet.login-password=admin
spring.datasource.druid.stat-view-servlet.allow=
spring.datasource.druid.stat-view-servlet.deny=
# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
spring.datasource.druid.filters=stat,wall,logback