基于Springboot2.x版本的Druid相关配置

基于Springboot2.x版本的Druid相关配置

使用Druid我们需要先引用该配置的maven 包
打开pom.xml,将maven配置进去,配置完会自动联网下载该包相关的类,需稍等片刻
该包获取的地址为:
https://mvnrepository.com/artifact/com.alibaba/druid
可以在该地址自行选择druid的版本,
在这里我用的是最新版本的1.1.23版本的

		<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.23</version>
        </dependency>

引用完之后我们需要进行相关的属性配置:
这里有两种方法:
相关属性的介绍在下面这个地址:
https://github.com/alibaba/druid/wiki/DruidDataSource%E9%85%8D%E7%BD%AE%E5%B1%9E%E6%80%A7%E5%88%97%E8%A1%A8
根据项目的需要可以自行配置。

第一种:
使用appllication.properties
对于mysql的连接配置可以参考下面的连接:
https://blog.csdn.net/Wind_biscuit/article/details/107571916

//mysql连接配置
spring.datasource.username=******
spring.datasource.password=******
spring.datasource.url= jdbc:mysql://localhost:3306/sqlname?serverTimezone=UTC
//druid配置
spring.datasource.driver-class-name= com.mysql.cj.jdbc.Driver
spring.datasource.type= com.alibaba.druid.pool.DruidDataSource
spring.datasource.druid.initial-size= 5
spring.datasource.druid.min-idle= 5
spring.datasource.druid.maxActive= 20
spring.datasource.druid.maxWait= 60000
spring.datasource.druid.timeBetweenEvictionRunsMillis= 60000
spring.datasource.druid.minEvictableIdleTimeMillis= 300000
spring.datasource.druid.validationQuery= SELECT 1 FROM DUAL
spring.datasource.druid.testWhileIdle= true
spring.datasource.druid.testOnBorrow= false
spring.datasource.druid.testOnReturn= false
spring.datasource.druid.poolPreparedStatements= true
spring.datasource.druid.maxPoolPreparedStatementPerConnectionSize= 20
spring.datasource.druid.filters= stat
spring.datasource.druid.connectionProperties= druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000

第二种:
使用application.yml进行配置。个人推荐使用这种,可读性,与代码的简洁性都会好很多

spring:
  datasource:
	//mysql配置类
    username: *****
    password:  *****
    url: jdbc:mysql://localhost:3306/sqlname?serverTimezone=UTC
    driver-class-name: com.mysql.cj.jdbc.Driver
    //druid配置类
    type: com.alibaba.druid.pool.DruidDataSource
    druid:
      maxActive: 20
      maxWait: 60000
      initialSize: 5
      minIdle: 5
      timeBetweenEvictionRunsMillis: 60000
      minEvictableIdleTimeMillis: 300000
      validationQuery: SELECT 1 FROM DUAL
      testWhileIdle: true
      testOnBorrow: false
      testOnReturn: false
      poolPreparedStatements: true
      filters: stat
      maxPoolPreparedStatementPerConnectionSize: 20
      useGlobalDataSourceStat: true
      connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500

基本的配置类写完之后,我们需要来写Druid的相关类

新建一个config文件夹,用来放DruidConfig的配置类
在这里插入图片描述

类里面的内容为如下:

@Configuration
public class DruidConfig {

    @Bean
    public ServletRegistrationBean statViewServlet(){
        ServletRegistrationBean<StatViewServlet> bean = new ServletRegistrationBean<StatViewServlet>( new StatViewServlet(), "/druid/*" );

        Map<String,String> iniParms=new HashMap<>(  );
        
        iniParms.put( "loginUsername","admin" );//登录druid的用户名
        iniParms.put( "loginPassword","123456" );//登录druid的密码
        iniParms.put("allow","");//默认允许所有
        iniParms.put( "deny","192.168.***.***" );//自己本机的ip地址
        bean.setInitParameters( iniParms );
        return bean;

    }

    @Bean
    public FilterRegistrationBean webStatFilter(){
        FilterRegistrationBean bean= new FilterRegistrationBean();
        bean.setFilter(new WebStatFilter());
        Map<String,String> iniParms=new HashMap<>();
        iniParms.put( "excliusions", "*.js,*.css,/druid/*");//使静态文件访问,还有/druid/* 的访问不被拦截
        bean.setInitParameters( iniParms );
        bean.setUrlPatterns( Arrays.asList("/*"));
        return bean;
    }

}

这时候我们就完成了所有的配置 只需要运行该项目,然后在浏览器中输入

http://localhost:8080/druid/login.html

我们会进入下面这个界面:
在这里插入图片描述
通过输入我们自行设置的用户名和密码登录,
就可以查看我们配置的连接池的信息了。
在这里插入图片描述

到这里我们才是正式结束了druid的配置,

希望能帮到你。


版权声明:本文为Wind_biscuit原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。