pom依赖
<!-- druid-spring-boot-starter --><dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.17</version></dependency>
配置监控统计功能
@Configurationpublic class DruidConfig { /** * 将配置文件中spring.druid.*配置到DruidDataSource中 * @param statFilter * @return * @throws SQLException */ @ConfigurationProperties(prefix="spring.druid") @Bean(initMethod="init", destroyMethod="close") public DruidDataSource dataSource(Filter statFilter) throws SQLException { DruidDataSource dataSource = new DruidDataSource(); List<Filter> filters = new ArrayList<Filter>(); filters.add(statFilter()); dataSource.setProxyFilters(filters); return dataSource; } /** * 配置慢连接过滤 * @return */ @Bean public Filter statFilter() { StatFilter filter = new StatFilter(); filter.setSlowSqlMillis(5000); // 慢SQL执行时间(单位:毫秒) filter.setLogSlowSql(true); // 是否打印出慢日志 filter.setMergeSql(true); // 是否合并 return filter; } /** * 注册一个StatViewServlet * @return */ @Bean public ServletRegistrationBean<StatViewServlet> DruidStatViewServle() { // org.springframework.boot.context.embedded.ServletRegistrationBean提供类的进行注册. ServletRegistrationBean<StatViewServlet> servletRegistrationBean = new ServletRegistrationBean<StatViewServlet>(new StatViewServlet(), "/druid/*"); // 添加初始化参数:initParams // 白名单: servletRegistrationBean.addInitParameter("allow", "127.0.0.1"); // 登录查看信息的账号密码 servletRegistrationBean.addInitParameter("loginUsername", "admin"); servletRegistrationBean.addInitParameter("loginPassword", "123456"); // 是否能够重置数据 servletRegistrationBean.addInitParameter("resetEnable", "false"); return servletRegistrationBean; }}
向 application.properties 配置文件中添加配置(将原先的数据库连接配置注释起来)
#mysql#spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver#spring.datasource.url=jdbc:mysql://127.0.0.1:3306/springboot?useUnicode=true&characterEncoding=utf-8#spring.datasource.username=root#spring.datasource.password=123456spring.druid.driverClassName=com.mysql.cj.jdbc.Driverspring.druid.url=jdbc:mysql://127.0.0.1:3306/springboot?useUnicode=true&characterEncoding=utf-8spring.druid.username=rootspring.druid.password=123456#初始化、最小、最大连接数spring.druid.initialSize=10spring.druid.minIdle=10spring.druid.maxActive=20#获取连接的最大等待时间spring.druid.maxWait=10000#解决mysql8小时的问题(会主动断开空闲8小时的链接)spring.druid.validationQuery=SELECT 'x'#配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒spring.druid.timeBetweenEvictionRunsMillis=60000#配置一个连接在池中最小生存的时间,单位是毫秒spring.druid.minEvictableIdleTimeMillis=300000
访问监控页面
访问监控页面:http://127.0.0.1:8080/druid/index.html登录名和密码为上述类中所设置的:admin 123456