SpringBoot 整合Druid

一:引包

    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid</artifactId>
        <version>1.1.9</version>
    </dependency>

二:配置config

注意DruidConfiguration文件要和springBoot啓動類 在同一目錄層級

import com.alibaba.druid.support.http.StatViewServlet;
import com.alibaba.druid.support.http.WebStatFilter;
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;

@Configuration
public class DruidConfiguration {

    @Bean
    public ServletRegistrationBean statViewServlet(){
        //創建servlet註冊實體
        ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new StatViewServlet(),"/druid/*");
        //設置ip白名單
        servletRegistrationBean.addInitParameter("allow","127.0.0.1");
        //設置ip黑名單,如果allow與deny共同存在時,deny優先於allow
        servletRegistrationBean.addInitParameter("deny","192.168.0.19");
        //設置控制檯管理用戶
        servletRegistrationBean.addInitParameter("loginUsername","druid");
        servletRegistrationBean.addInitParameter("loginPassword","123456");
        //是否可以重置數據
        servletRegistrationBean.addInitParameter("resetEnable","false");
        return servletRegistrationBean;
    }

    @Bean
    public FilterRegistrationBean statFilter(){
        //創建過濾器
        FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new WebStatFilter());
        //設置過濾器過濾路徑
        filterRegistrationBean.addUrlPatterns("/*");
        //忽略過濾的形式
        filterRegistrationBean.addInitParameter("exclusions","*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");
        return filterRegistrationBean;
    }
}

三:配置application.properties

SpringBoot 1.5版本 默認使用的是tomcat連接池,所有有別的連接池,最好是註釋掉

#mysql
#spring.datasource.url=jdbc:mysql://192.168.88.160:3306/sx_exam?useSSL=false&useUnicode=true&characterEncoding=utf-8
spring.datasource.url=jdbc:mysql://localhost:3306/test?useSSL=false&useUnicode=true&characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name: com.mysql.jdbc.Driver

#druid連接池
spring.datasource.type: com.alibaba.druid.pool.DruidDataSource
#最大活躍數
spring.datasource.maxActive: 20
#初始化數量
spring.datasource.initialSize: 1
#最大連接等待超時時間
spring.datasource.maxWait: 60000
#打開PSCache,並且指定每個連接PSCache的大小
spring.datasource.poolPreparedStatements: true
spring.datasource.maxPoolPreparedStatementPerConnectionSize: 20
#通過connectionProperties屬性來打開mergeSql功能;慢SQL記錄
#connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
spring.datasource.minIdle: 1
spring.datasource.timeBetweenEvictionRunsMillis: 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'用於防火牆
filters: stat, wall, log4j

四:訪問

http://127.0.0.1:8080/druid/index.html
賬號密碼在config類裏

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章