1 、Druid依赖
<dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.17</version> </dependency>
Druid,starter地址:https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter
2 、配置文件配置Druid参数
spring: datasource: druid: #mysql配置时区,否则会报错 url: jdbc:mysql://localhost:3306/spring?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8 username: root password: root # 配置监控统计拦截的filters filters: stat #配置初始化大小、最小、最大 max-active: 20 min-idle: 1 initial-size: 1 #配置获取连接等待超时的时间 max-wait: 60000 # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 time-between-eviction-runs-millis: 60000 #配置一个连接在池中最小、最大生存的时间,单位是毫秒 min-evictable-idle-time-millis: 60000 max-evictable-idle-time-millis: 90000 #如果为true(默认true),当应用向连接池申请连接,并且testOnBorrow为false时,连接池将会判断连接是否 #处于空闲状态,如果是,则验证这条连接是否可用。 test-while-idle: true test-on-borrow: false #查询Sql不写前两个参数会不执行 validation-query: select 1
3、创建Filter过滤器
@WebFilter(filterName = "druidWebStatFilter", urlPatterns = "/*", initParams = {@WebInitParam(name="exclusions", value = "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*")}) public class DruidStatFilter extends WebStatFilter { }
4、创建servlet
@WebServlet(urlPatterns = "/druid/*", name = "druidStatViewServlet", initParams = {@WebInitParam(name = "loginUsername", value = "admin"),//用户名 @WebInitParam(name = "loginPassword", value = "admin"),//密码 @WebInitParam(name = "resetEnable", value = "false"),//页面重置按钮是否启用 @WebInitParam(name = "allow", value = ""), //白名单 @WebInitParam(name = "deny", value = "") })//黑名单 public class DruidStatViewServlet extends StatViewServlet { }
5、将servlet和Filter添加到容器中
在SpringBoot启动类上添加注解@ServletComponentScan