SpringBoot配置Druid數(shù)據(jù)監(jiān)控代碼實(shí)例
druid,一個(gè)為監(jiān)控而生的數(shù)據(jù)庫(kù)連接池,提供可視化界面來(lái)查看sql執(zhí)行情況。
1、pom文件引入druid數(shù)據(jù)源
<!--druid數(shù)據(jù)源--> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.8</version> </dependency>
2、新建一個(gè)DrruidConfig配置文件
package com.example.mybatisplus.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.util.Arrays;import java.util.HashMap;import java.util.Map;/** * druid數(shù)據(jù)池配置 */@Configurationpublic class DruidConfig { @ConfigurationProperties(prefix = 'spring.datasource') @Bean public DataSource druid(){ return new DruidDataSource(); } //配置Druid的監(jiān)控 //1、配置一個(gè)管理后臺(tái)的Servlet @Bean public ServletRegistrationBean statViewServlet(){ ServletRegistrationBean bean = new ServletRegistrationBean(new StatViewServlet(), '/druid/*'); Map<String,String> initParams = new HashMap<>(); //配置登錄的賬號(hào)密碼 initParams.put('loginUsername','admin'); initParams.put('loginPassword','123456');// initParams.put('deny','localhost'); //拒絕誰(shuí)登錄 //是否能夠重置數(shù)據(jù).// bean.addInitParameter('resetEnable','false'); bean.setInitParameters(initParams); return bean; } //2、配置一個(gè)web監(jiān)控的filter @Bean public FilterRegistrationBean webStatFilter(){ FilterRegistrationBean bean = new FilterRegistrationBean(); bean.setFilter(new WebStatFilter()); Map<String,String> initParams = new HashMap<>(); initParams.put('exclusions','*.html,*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*'); bean.setInitParameters(initParams); bean.setUrlPatterns(Arrays.asList('/*')); return bean; }}
3、yml文件配置
spring: datasource: schema: - classpath:schema.sql initialization-mode: ALWAYS username: root password: root url: jdbc:mysql://localhost:3306/jdbc?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=false driver-class-name: com.mysql.cj.jdbc.Driver # type: com.alibaba.druid.pool.DruidDataSource initialSize: 5 minIdle: 5 maxActive: 20 maxWait: 60000 timeBetweenEvictionRunsMillis: 60000 minEvictableIdleTimeMillis: 300000 validationQuery: SELECT 1 FROM DUAL testWhileIdle: true testOnBorrow: false testOnReturn: false poolPreparedStatements: true # 配置監(jiān)控統(tǒng)計(jì)攔截的filters,去掉后監(jiān)控界面sql無(wú)法統(tǒng)計(jì),’wall’用于防火墻 filters: stat,wall maxPoolPreparedStatementPerConnectionSize: 20 useGlobalDataSourceStat: true connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. JSP數(shù)據(jù)交互實(shí)現(xiàn)過(guò)程解析2. 解決啟動(dòng)django,瀏覽器顯示“服務(wù)器拒絕訪問(wèn)”的問(wèn)題3. Nginx+php配置文件及原理解析4. vue使用webSocket更新實(shí)時(shí)天氣的方法5. Yii2.0引入CSS,JS文件方法6. Opencv+Python識(shí)別PCB板圖片的步驟7. ASP.NET MVC獲取多級(jí)類(lèi)別組合下的產(chǎn)品8. python使用selenium爬蟲(chóng)知乎的方法示例9. 討論CSS中的各類(lèi)居中方式10. 如何使用CSS3畫(huà)出一個(gè)叮當(dāng)貓
