1. 程式人生 > >SpringBoot下配置Druid

SpringBoot下配置Druid

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