SpringBoot下配置Druid
阿新 • • 發佈:2019-05-08
log ret hash word 相對 2.0 ble prop arr
什麽是Druid:Druid是阿裏發開的一套基於database的監控平臺,相對於其他監控來說對於中文的支持更親民..
前言:最近這段時間發現項目整體運行響應速度較慢,打算對系統進行深層次的優化(尤其是sql方面),所以打算內置Druid在系統中,用來監控系統的運行情況.
傳統的web項目中配置Druid在其github上已有明確的文檔,此處不在贅述,如有需要可以參考:https://github.com/alibaba/druid
下面我們來談談在springboot中如何內置Druid.
1.需要依賴的jar包:
<!-- https://mvnrepository.com/artifact/com.alibaba/druid --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.10</version> </dependency>
特別說明一下:如果使用postgresql的朋友請選擇:
<dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <version>42.0.0</version> </dependency>
目前我發現的是在這個版本下可用,其他版本可能會出現一些奇怪的報錯.
2.配置數據庫驅動:
@Configuration public class DataSourceConfig { @ConfigurationProperties(prefix = "spring.datasource") @Bean("dataSource") public DataSource druid(){ return new DruidDataSource(); } @Bean public ServletRegistrationBean statViewServlet(){ ServletRegistrationBean bean= new ServletRegistrationBean(new StatViewServlet()); Map<String, String> initParameters=new HashMap<>(); initParameters.put("loginUsername","***"); initParameters.put("loginPassword","***"); initParameters.put("resetEnable","true"); bean.setInitParameters(initParameters); bean.setUrlMappings(Arrays.asList("/druid/*")); return bean; } @Bean public FilterRegistrationBean webFileter(){ FilterRegistrationBean bean = new FilterRegistrationBean(new WebStatFilter()); Map<String, String> initParameters=new HashMap<>(); initParameters.put("exclusions","*.js,*.css,*.png,*.jpg,/druid/*"); bean.setInitParameters(initParameters); bean.setUrlPatterns(Arrays.asList("/*")); return bean; } }
關於參數的一些說明:
loginUsername: 登錄監控系統的用戶名
loginPassword: 登錄監控控系統的密碼
resetEnable: 是否允許重置數據
還可以設置的參數包括:
allow: 允許登錄的ip地址(不填默認為允許所有)
deny: 拒絕登錄的ip地址(拒絕的優先級比同意的優先級高)
3.配置數據庫的相關數據:
spring.datasource.driverClassName= spring.datasource.username= spring.datasource.password= spring.datasource.url= spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring.datasource.maxActive=80 spring.datasource.queryTimeout=3000 spring.datasource.poolPreparedStatements=true spring.datasource.filters=stat,wall spring.datasource.connectionProperties=druid.stat.mergeSql=true;druuid.stat.slowSqlMillis=500 spring.datasource.useGlobalDataSourceStat=true spring.datasource.validationQuery=select 1 from dual
大體上就只需要這幾部就搞定啦!當項目啟動之後可以訪問*/druid/目錄來查看監控頁面,這只是一個簡單的配置,如果想要實現更加完善或者個性化的功能可以參考官網自主改造~
SpringBoot下配置Druid