application.properties文件完整信息
#連接數據庫
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
spring.datasource.url=jdbc:mariadb://localhost:3306/empDB
spring.datasource.username=oukele
spring.datasource.password=oukele
#連接池
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
創一個 DruidConfig類
package com.nf.pro_emp.config; 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; import java.sql.SQLException; /** * @author OUKELE * @create 2019-03-22 11:27 */ @Configuration @ConfigurationProperties(prefix = "spring.datasource")//讀取 application.properties里的內容 public class DruidConfig { //數據庫 url private String url; //數據庫用戶名 private String username; //數據庫登陸密碼 private String password; //最大的連接數量 private int maxActive; //初始化大小 private int initialSize; // 設置 超時的等待時間 private int maxWait; //最小的連接數量 private int minIdle; //監控統計攔截的filters,如果去掉后監控界面sql將無法統計 private String filters; public String getFilters() { return filters; } public void setFilters(String filters) { this.filters = filters; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public int getMaxActive() { return maxActive; } public void setMaxActive(int maxActive) { this.maxActive = maxActive; } public int getInitialSize() { return initialSize; } public void setInitialSize(int initialSize) { this.initialSize = initialSize; } public int getMaxWait() { return maxWait; } public void setMaxWait(int maxWait) { this.maxWait = maxWait; } public int getMinIdle() { return minIdle; } public void setMinIdle(int minIdle) { this.minIdle = minIdle; } //注冊 Servlet 組件 @Bean public ServletRegistrationBean statViewServlet(){ ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*"); /*servletRegistrationBean.addInitParameter("allow", "192.168.1.3"); //白名單IP*/ servletRegistrationBean.addInitParameter("loginUsername", "oukele"); servletRegistrationBean.addInitParameter("loginPassword", "oukele"); 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; } //配置數據源 @Bean public DataSource dataSource() { DruidDataSource dataSource = new DruidDataSource(); dataSource.setDriverClassName("org.mariadb.jdbc.Driver"); dataSource.setUrl(url); dataSource.setUsername(username); dataSource.setPassword(password); dataSource.setMaxActive(maxActive); dataSource.setInitialSize(initialSize); try { dataSource.setFilters(filters); } catch (SQLException e) { //do nothing } dataSource.setMaxWait(maxWait); dataSource.setMinIdle(minIdle); return dataSource; } }
重啟項目,瀏覽器輸入 http://localhost:8888/druid/login.html
演示項目地址:https://github.com/oukele/springboot-druid