摘要:
Cola4.x 学习实践 一、学习背景 互联网电商零售公司,交易中台-订单组。面对之前订单的各种复杂性,团队老大借鉴了cola的思想写了一套相对来说比较完善的框架,可以很好的应对针对于不同业态和场景下的业务场景,使得我们的代码不至于像屎山那样越堆越多,旨在于写出了任何人都可以看得明白的代码。 由于这 阅读全文
摘要:
点评CAT在服务器端部署之后 在使用客户端连接的时候,需要指定日志目录,和链接服务端的xml文件目录。 这两个值在源码 cat-client中都是写死的。 修改的方法很简单: 下载cat源码,打开 cat-client 模块,这边以 cat-client 3.0.1 为例。 我将指定的xml地址放在 阅读全文
摘要:
之前生产上有这样一个问题,就是在大事务中存在小事务,但是呢,小事务完成了之后,会有其他的线程会调用小事务的结果,这个时候,小事务的事物传播机制就不应该是默认的Required了,而是应该采用 REQUIRES_NEW(TransactionDefinition.PROPAGATION_REQUIRE 阅读全文
摘要:
上篇博客我们讲到,spring在做xml解析的时候,将xml中的各种属性,都封装到一个GenericBeanDefinition对象中,那么在将xml标签进行解析的时候,会出现两种情况,一种是针对传统(默认)标签的解析,而spring也提供了另外一种自定义标签的解析。 首先我们先来看个自定义的例子。 阅读全文
摘要:
前言: 为什么要学习Spring源码?我个人觉得,学习源码的应该分为3个阶段, 第一阶段,知道Spring框架设计的理念和初衷,以及其中流程的理解; 第二阶段,能够分析出来Spring框架在设计的时候,为什么会这么设计,其中运用的设计模式和设计思想; 第三阶段,可以根据开源框架的设计理念,自己在实际 阅读全文
摘要:
mybatis mapper映射分析 上篇文章讲到,mybatis是如何解析xml文件,井将其中的xml文件中的各种标签值解析到Configuration对象中的,这篇文章主要讲解为什么我们只需要在框架中定义mapper接口就可以自动实现SQL语句的自动执行,是怎么样进行绑定的? 思路:只有接口和x 阅读全文
摘要:
Mybatis加载配置的流程 我们知道mybatis在ORM框架中具有举足轻重的地位,接下来几篇博客文章将对mybatis的原理和设计理念进行解析,会发现很多很多令人惊喜的设计和想法。 在mybatis的源码分析流程中,我大概分成四个模块:1、配置加载;2、映射绑定;3、执行操作,封装结果;4、插件 阅读全文
摘要:
mybatis 源码分析 日志模块 需求: 1、MyBatis 没有提供日志的实现类,需要接入第三方的日志组件,但第三方日志组件都有各自的 Log 级别,且各不相同,而 MyBatis 统一提供了 trace、debug、warn、error 四个级别; 2、自动扫描日志实现,并且第三方日志插件加载 阅读全文
摘要:
Mybatis 源码解析之源码概述 源码下载 : https://github.com/MyBatis/MyBatis-3 源码架构分析 : 源码结构图: 基础支撑层:技术组件专注于底层技术实现,通用性较强无业务含义; 核心处理层:业务组件专注 MyBatis 的业务流程实现,依赖于基础支撑层; 接 阅读全文
摘要:
模板模式 注:文章中的超链接才是重点 在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。 针对模板模式 我做了些修改 灵感来源于 并发编程中的 线程池 E 阅读全文