1. Introduce dependency packages
<!-- jdbc --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <!-- mysql driver package--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <!-- druid --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.9</version> </dependency>
2. Configuration file application.properties
#Database link spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.url=jdbc:mysql://192.168.0.202:3306/tzxx_34?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC spring.datasource.username=root spring.datasource.password=123456 #druidConnectionPool spring.datasource.type: com.alibaba.druid.pool.DruidDataSource #Maximum active count spring.datasource.maxActive: 20 #initialize the number spring.datasource.initialSize: 1 #Maximum connection wait timeout spring.datasource.maxWait: 60000 #Open PSCache and specify the size of each connection PSCache spring.datasource.poolPreparedStatements: true spring.datasource.maxPoolPreparedStatementPerConnectionSize: 20 #Open the mergeSql function through the connectionProperties property; slow SQL records #connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 spring.datasource.minIdle: 1 spring.datasource.timeBetweenEvictionRunsMillis: 60000 spring.datasource.minEvictableIdleTimeMillis: 300000 spring.datasource.validationQuery: select 1 from dual spring.datasource.testWhileIdle: true spring.datasource.testOnBorrow: false spring.datasource.testOnReturn: false #Configure the filters for monitoring statistics interception, after removing the monitoring interface sql will not be able to count, 'wall' is used for firewalls filters: stat, wall, log4j
3. New configuration class: DruidConfiguration.java
package com.zzstxx; 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 com.alibaba.druid.support.http.StatViewServlet; import com.alibaba.druid.support.http.WebStatFilter; /** * Druid related configuration * @author Administrator * */ @Configuration public class DruidConfiguration { @Bean public ServletRegistrationBean statViewServlet() { // Create servlet registration entity ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean( new StatViewServlet(), "/druid/*"); // set ip whitelist servletRegistrationBean.addInitParameter("allow", "127.0.0.1"); // Set ip blacklist, if allow and deny coexist, deny takes precedence over allow servletRegistrationBean.addInitParameter("deny", "192.168.0.19"); // Set the console management user servletRegistrationBean.addInitParameter("loginUsername", "druid"); servletRegistrationBean.addInitParameter("loginPassword", "123456"); // Is it possible to reset the data servletRegistrationBean.addInitParameter("resetEnable", "false"); return servletRegistrationBean; } @Bean public FilterRegistrationBean statFilter() { // create filter FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean( new WebStatFilter()); // set the filter filter path filterRegistrationBean.addUrlPatterns("/*"); // ignore filtered form filterRegistrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"); return filterRegistrationBean; } }
4. Start the service: visit http://127.0.0.1:8888/springboot-dev/druid/index.html