Configuration classes are as follows:
package com.example.spring.druid; import java.util.HashMap; import javax.servlet.Servlet; import javax.sql.DataSource; import org.slf4j.Logger; import org.slf4j.LoggerFactory; 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 com.alibaba.druid.pool.DruidDataSource; Import com.alibaba.druid.support.http.StatViewServlet; Import com.alibaba.druid.support.http.WebStatFilter; / ** * @DESC Druid class configuration, will be scanned springboot then added to the appropriate service vessel * @author guchuang * * / @Configuration public class DruidConfiguration { Private static Logger LoggerFactory.getLogger = log (DruidConfiguration. class ); @Bean @ConfigurationProperties (prefix = "spring.datasource" ) public the DataSource Druid () { return new new DruidDataSource () ; } / ** * Configuration druid page access control management * Access URL: http://127.0.0.1 : 8080 / druid * @return * / @Bean public ServletRegistrationBean <Servlet> druidServlet () { log.info ( "Servlet the init Druid the configuration " ); ServletRegistrationBean <the Servlet> = servletRegistrationBean new new ServletRegistrationBean <> (); servletRegistrationBean.setServlet ( new new StatViewServlet ()); // disposed a blocker servletRegistrationBean.addUrlMappings (" / Druid / * "); // specified interceptors intercept requests only druid management page HashMap <String, String> = initParam new new HashMap <String, String> (); initParam.put ( "loginUsername", "ADMIN"); // Login druid management page initParam.put ( "loginPassword", "admin "); // login password druid management page initParam.put (" resetEnable "," to true "); // whether to allow the druid to reset the statistics initParam.put (" the allow "," "); // ip white list, if not set or empty, it means allowing all access servletRegistrationBean.setInitParameters (initParam); return servletRegistrationBean; } @Bean public FilterRegistrationBean<WebStatFilter> filterRegistrationBean() { FilterRegistrationBean<WebStatFilter> filterRegistrationBean = new FilterRegistrationBean<WebStatFilter>(); filterRegistrationBean.setFilter(new WebStatFilter()); filterRegistrationBean.addUrlPatterns("/*"); filterRegistrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"); return filterRegistrationBean; } }
Configuration files are as follows:
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring.datasource.driver-class-name=org.postgresql.Driver spring.datasource.url=jdbc:postgresql://127.0.0.1:5432/druiddb spring.datasource.username=postgres spring.datasource.password=postgres #config druid spring.datasource.initialSize=5 spring.datasource.minIdle=5 spring.datasource.maxActive=20 spring.datasource.maxWait=10000 spring.datasource.timeBetweenEvictionRunMillis=60000 spring.datasource.minEvictableIdleTimeMillis=10000 spring.datasource.validationQuery=SELECT 'x' spring.datasource.testWhileIdle=true spring.datasource.testOnBorrow=true spring.datasource.testOnReturn=false spring.datasource.poolPreparedStatements=true spring.datasource.maxPoolPreparedStatementPerConnectionSize=10 spring.datasource.filters=stat