SpringBoot整合阿里Druid数据源

SpringBoot整合阿里 Druid数据源

首先阿里的Druid是开源数据源,监控sql和数据库性能方面非常强大,扩展功能、应用广泛,十分优秀的数据连接池。

  • 步骤 导入依赖 =》 配置Druid相关<!-- https://mvnrepository.com/artifact/com.alibaba/druid --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.2.5</version> </dependency>
    spring:   datasource:     # 使用阿里巴巴的Druid数据库连接池     type: com.alibaba.druid.pool.DruidDataSource     # 连接池的配置信息     # 初始化大小,最小,最大连接数     initial-size: 10     min-idle: 10     maxActive: 20     # 配置获取连接等待超时的时间     maxWait: 60000     # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是ms     timeBetweenEvictionRunsMillis: 60000     # Destory线程中如果检测到当前连接的最后活跃时间和当前时间的差值大于     # minEvictableIdleTimeMillis,则关闭当前连接。单位是ms     minEvictableIdleTimeMillis: 300000     # 用来检测连接是否有效的sql,要求是一个查询语句。     validationQuery: SELECT 1     #建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。     testWhileIdle: true     # 申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。     testOnBorrow: false     # 归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能     testOnReturn: false     # 打开PSCache,并且指定每个连接上PSCache的大小     poolPreparedStatements: true     # 配置监控统计拦截的filters,监控统计用的stat、日志用的log4j、 防御sql注入的wall     filters: stat,wall,slf4j     # 通过connectProperties属性来打开mergeSql功能;慢SQL记录     connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000     useGlobaiDataSourceStat: true     maxPoolPreparedStatementPerConnectionSize: 20 

    重点需要配置filters并且赋值监控项 stat、log4j、wall

    • 原本需要在项目的web.xml中配置druid的自定义servlet,但是因为springboot 内置了servlet容器,所以没有web.xml,所以需要创建配置类来配置Druid(DruidConfig)记得在Application启动类同级的目录下创建。
    @Configuration public class DruidConfig {      //绑定datasource数据源     @ConfigurationProperties(prefix = "spring.datasource")     @Bean     public DataSource druidDataSource(){          return new DruidDataSource();     }      //后台检控     //因为springboot 内置了servlet容器,所以没有web.xml     @Bean     public ServletRegistrationBean statViewServlet(){         //配置访问后台页面地址 /druid/*         ServletRegistrationBean<StatViewServlet> bean = new ServletRegistrationBean<>(new StatViewServlet(), "/druid/*");          HashMap<String, String> init = new HashMap<>();          //设置登陆信息         //用户名loginUsername和loginPassword是固定的key,不能修改,只能修改value         init.put("loginUsername","root");         init.put("loginPassword","123456");          //如果allow值为空,则所有人都可以访问         init.put("allow","");          //设置后台登陆信息,最后将集合作为参数传入         bean.setInitParameters(init);         return bean;     } } 
    • 最后可以启动Application,然后进行数据库操作
      然后访问http://localhost:8080/druid即可,如果没有自己更改的话,访问路径http://localhost:8080/druid是可以正常进入druid登陆页面SpringBoot整合阿里Druid数据源

    登陆后就可以查看druid的监控系统了!SpringBoot整合阿里Druid数据源

版权声明:玥玥 发表于 2021-03-19 0:41:57。
转载请注明:SpringBoot整合阿里Druid数据源 | 女黑客导航