【SpringBoot】13、整合Druid【狂神篇】

本文详细介绍了如何在SpringBoot项目中配置Druid连接池,包括参数设置、监控界面配置以及WebStatFilter的使用。同时提到了如何绑定全局配置和自定义数据源组件。此外,还分享了如何设置后台管理和页面测试的相关内容。
摘要由CSDN通过智能技术生成

3)测试数据源


在这里插入图片描述

4)配置连接池


spring:

datasource:

#Spring Boot 默认是不注入这些属性值的,需要自己绑定

#druid 数据源专有配置

initialSize: 5 # 初始连接数

minIdle: 5 # 最小连接数

maxActive: 20 # 最大连接数

maxWait: 60000 # 没有可用连接时,最大等待时间

timeBetweenEvictionRunsMillis: 60000 # 运行时间间隔

minEvictableIdleTimeMillis: 300000 # 连接保持空闲

validationQuery: SELECT 1 FROM DUAL # 检测连接是否有效的SQL

testWhileIdle: true # 申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。

testOnBorrow: false # 申请连接时执行validationQuery检测连接是否有效,true 配置会降低性能

testOnReturn: false # 归还连接时执行validationQuery检测连接是否有效,true 配置会降低性能。

poolPreparedStatements: false # 不缓存preparedStatement,也就是PSCache。PSCache对支持游标的数据库性能提升巨大,比如说oracle。在mysql下建议关闭。

#配置监控统计拦截的filters,stat:监控统计、log4j:日志记录、wall:防御sql注入

#如果允许时报错 java.lang.ClassNotFoundException: org.apache.log4j.Priority

#则导入 log4j 依赖即可,Maven 地址:https://mvnrepository.com/artifact/log4j/log4j

filters: stat,wall,log4j

maxPoolPreparedStatementPerConnectionSize: 20

useGlobalDataSourceStat: true

connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500

5)导Log4j


log4j

log4j

1.2.17

6)绑定参数


为 DruidDataSource 绑定全局配置文件中的参数,再添加到容器中,而不用 Spring Boot 的自动生成了

需要自己添加 DruidDataSource 组件到容器中,并绑定属性

就是让自已配置的连接池等参数生效,否则将使用默认值

@Configuration

public class DruidConfig {

@Bean

@ConfigurationProperties(prefix = “spring.datasource”)

public DataSource druidDataSource(){

return new DruidDataSource();

}

}

7)测试参数


在这里插入图片描述

在这里插入图片描述

3、配置Druid数据源监控

========================================================================

Druid 数据源具有监控的功能,并提供了一个 web 界面方便用户查看,类似安装 路由器 时,进行配置的web 页面

1)设置后台管理页面


/**

  • 配置 Druid 监控管理后台的Servlet;

  • 内置 Servlet 容器时没有web.xml文件,所以使用 Spring Boot 的注册 Servlet 方式

  • @Bean

  • @return

*/

@Bean

public ServletRegistrationBean statViewServlet(){

// 监控页面地址

ServletRegistrationBean bean = new ServletRegistrationBean<>(new StatViewServlet(),“/druid/*”);

// 初始化参数

// 这些参数可以在 com.alibaba.druid.support.http.StatViewServlet

// 的父类 com.alibaba.druid.support.http.ResourceServlet 中找到

HashMap<String, String> initParams = new HashMap<>();

// 后台管理界面的登录账号

initParams.put(“loginUsername”, “admin”);

// 后台管理界面的登录密码

initParams.put(“loginPassword”, “123456”);

//后台允许谁可以访问

//initParams.put(“allow”, “localhost”):表示只有本机可以访问

//initParams.put(“allow”, “”):为空或者为null时,表示允许所有访问

initParams.put(“allow”, “”);

//deny:Druid 后台拒绝谁访问

//initParams.put(“deny”, “192.168.1.20”);表示禁止此ip访问

//设置初始化参数

bean.setInitParameters(initParams);

return bean;

}

在这里插入图片描述

  • 页面测试

在这里插入图片描述

在这里插入图片描述

2)配置 filter 过滤器


/**

  • 配置 web 监控的 filter

  • WebStatFilter:用于配置Web和Druid数据源之间的管理关联监控统计

  • @return

*/

@Bean

public FilterRegistrationBean webStatFilter(){

FilterRegistrationBean bean = new FilterRegistrationBean<>();

bean.setFilter(new WebStatFilter());

// exclusions:设置哪些请求进行过滤排除掉,从而不进行统计

Map<String, String> initParams = new HashMap<>();

initParams.put(“exclusions”, “.js,.css,/druid/*”);

bean.setInitParameters(initParams);

// “/**” 表示过滤所有请求

bean.setUrlPatterns(Arrays.asList(“/**”));

return bean;

}
在这里插入图片描述

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

总结

面试建议是,一定要自信,敢于表达,面试的时候我们对知识的掌握有时候很难面面俱到,把自己的思路说出来,而不是直接告诉面试官自己不懂,这也是可以加分的。

以上就是蚂蚁技术四面和HR面试题目,以下最新总结的最全,范围包含最全MySQL、Spring、Redis、JVM等最全面试题和答案,仅用于参考

一份还热乎的蚂蚁金服面经(已拿Offer)面试流程4轮技术面+1轮HR

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
/>

总结

面试建议是,一定要自信,敢于表达,面试的时候我们对知识的掌握有时候很难面面俱到,把自己的思路说出来,而不是直接告诉面试官自己不懂,这也是可以加分的。

以上就是蚂蚁技术四面和HR面试题目,以下最新总结的最全,范围包含最全MySQL、Spring、Redis、JVM等最全面试题和答案,仅用于参考

[外链图片转存中…(img-tBxlp3nD-1713405809963)]

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值