07 2020 档案
摘要:因为之前使用mybatis,都是直接使用的mybatis-spring-boot-starter,通过这个starter模块间接引入的mybatis。目前使用的版本到了2.1.3,其使用的mybatis版本为3.5.5。 切换项目组后,使用了通用mapper,基于tk.mybatis模块间接依赖的m
阅读全文
摘要:公司项目依赖了sonar检查,默认使用的是sonar-maven-plugin:3.7.0.1746版本。在执行sonar扫描时提示: SCM provider was set to "git" but no SCM provider found for this key. 这个原因在于sonar的
阅读全文
摘要:spring通过一个容器的概念,引入父子容器结构,实现bean的隔离&继承结构。 这种模式在很多场合都有类似的设计,比如Java的classloader机制,OSGi的bundle机制等。 这种机制的优势,在于将对象的作用范围进行约束。在复杂环境下,可以通过限定作用范围使得有冲突的内容和谐共存。 接
阅读全文
摘要:作为常用的orm框架,mybatis承接了SQL的预编译,执行,响应结果映射等SQL处理的各个环节。在这里整理下这个框架的一些知识点,方便后续复习。 原生的mybatis初始化流程如下图所示: 在XMLConfigBuilder中针对xxxMapper.xml文件进行了初始化,转换成了MapperS
阅读全文
摘要:很多业务场景都需要防重复提交,比如提交订单,抢券,组团等场景。 在这里,主要陈述下一般的防重复提交方式。具体归类,会分为新增场景,更新场景。重复提交可以分为几种类型,比如: 短时间连续重复提交; 不定时间重复提交; 新增场景 新增场景无论是短时间连续重复提交还是不定时间重复提交,都是相似的解决方案。
阅读全文
摘要:一个秒杀系统的设计,涵盖若干要素。比如: 读写请求分离; 流量筛选; 读缓存; 写批量; 写串行; 预处理; 前端界面操作优化; dns优化; 自我保护; 每一个要素,都是解决一个具体的问题场景。 读写请求分离: 秒杀一般分为2个阶段,秒杀准备阶段,秒杀阶段。 在秒杀准备阶段,一般流量会逐渐上升,用
阅读全文
摘要:在MySQL中,默认的隔离级别是RR。 事务的隔离级别如下所示: 隔离级别 脏读 可重复读 幻象读 RU 存在 存在 存在 RC 不存在 存在 存在 RR 不存在 不存在 存在 Serializable 不存在 不存在 不存在 脏读:当前事务可能读到其它事务未提交的数据。 可重复读:当前事务内,多次
阅读全文

浙公网安备 33010602011771号