依賴加入
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.18</version>
</dependency>
YML
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/student?useUnicode=true&characterEncoding=utf-8
username: root
password: 12345678
# druid 配置
dbType: mysql # 指定數據庫類型 mysql
initialSize: 5 # 啟動初始化連接數量
minIdle: 5 # 最小空閑連接
maxActive: 20 # 最大連接數量(包含使用中的和空閑的)
maxWait: 60000 # 最大連接等待時間 ,超出時間報錯
timeBetweenEvictionRunsMillis: 60000 # 設置執行一次連接回收器的時間
minEvictableIdleTimeMillis: 300000 # 設置時間: 該時間內沒有任何操作的空閑連接會被回收
validationQuery: select 'x' # 驗證連接有效性的sql
testWhileIdle: true # 空閑時校驗
testOnBorrow: false # 使用中是否校驗有效性
testOnReturn: false # 歸還連接池時是否校驗
poolPreparedStatements: false # mysql 不推薦打開預處理連接池
filters: stat,wall,logback #設置過濾器 stat用於接收狀態,wall防止sql注入,logback說明使用logback進行日志輸出
userGlobalataSourceStat: true # 統計所有數據源狀態
connectionProperties: druid.stat.mergSql=true;druid.stat.slowSqlMillis=500 # sql合並統計 設置慢sql時間為500,超過500 會有記錄提示
入口程序配置自定義Bean
// 初始化druidDataSource對象
@Bean
@ConfigurationProperties(prefix = "spring.datasource")
public DataSource druidDataSource(){
return new DruidDataSource();
}
// 注冊后台監控界面
@Bean
public ServletRegistrationBean servletRegistrationBean(){
// 綁定后台監控界面的路徑 為localhost/druid
ServletRegistrationBean bean=new ServletRegistrationBean(new StatViewServlet(),"/druid/*");
Map<String,String>map=new HashMap<>();
// 設置后台界面的用戶名
map.put("loginUsername","guoxw");
//設置后台界面密碼
map.put("loginPassword","123456");
// 設置那些ip允許訪問," " 為所有
map.put("allow","");
// 不允許該ip訪問
map.put("deny","33.32.43.123");
bean.setInitParameters(map);
return bean;
}
// 監聽獲取應用的數據,filter用於收集數據,servlet用於數據展示
@Bean
public FilterRegistrationBean filterRegistrationBean(){
FilterRegistrationBean bean=new FilterRegistrationBean();
// 設置過濾器
bean.setFilter(new WebStatFilter());
// 對所有請求進行過濾捕捉監聽
bean.addUrlPatterns("/*");
Map<String,String>map=new HashMap<>();
// 排除 . png .js 的監聽 用於排除一些靜態資源訪問
map.put("exclusions","*.png,*.js");
bean.setInitParameters(map);
return bean;
}
進入配置的地址 http://localhost:8080/druid