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
log4j
log4j
1.2.17
为 DruidDataSource 绑定全局配置文件中的参数,再添加到容器中,而不用 Spring Boot 的自动生成了
需要自己添加 DruidDataSource 组件到容器中,并绑定属性
就是让自已配置的连接池等参数生效,否则将使用默认值
@Configuration
public class DruidConfig {
@Bean
@ConfigurationProperties(prefix = “spring.datasource”)
public DataSource druidDataSource(){
return new DruidDataSource();
}
}
========================================================================
Druid 数据源具有监控的功能,并提供了一个 web 界面方便用户查看,类似安装 路由器 时,进行配置的web 页面
/**
-
配置 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;
}
- 页面测试
/**
-
配置 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开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
![img](https://img-blog.csdnimg.cn/img_convert/87bb0209c12139ffec98d41f6bc42778.jpeg)
总结
面试建议是,一定要自信,敢于表达,面试的时候我们对知识的掌握有时候很难面面俱到,把自己的思路说出来,而不是直接告诉面试官自己不懂,这也是可以加分的。
以上就是蚂蚁技术四面和HR面试题目,以下最新总结的最全,范围包含最全MySQL、Spring、Redis、JVM等最全面试题和答案,仅用于参考
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
/>
总结
面试建议是,一定要自信,敢于表达,面试的时候我们对知识的掌握有时候很难面面俱到,把自己的思路说出来,而不是直接告诉面试官自己不懂,这也是可以加分的。
以上就是蚂蚁技术四面和HR面试题目,以下最新总结的最全,范围包含最全MySQL、Spring、Redis、JVM等最全面试题和答案,仅用于参考
[外链图片转存中…(img-tBxlp3nD-1713405809963)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!