mybatis之日志源码解析

mybatis日志这块运用的设计模式有点像slf4j类似一样,运用了构造器、适配器和外观者设计模式。应用尝试加载各个日志框架类来封装成内部自己设计的Log接口。这整个过程比较简单,大概流程如下:

mybatis之日志源码解析_第1张图片
源码实现流程
第一步,通过org.apache.ibatis.logging.LogFactory类初始化尝试加载各个框架日志类。
mybatis之日志源码解析_第2张图片
第二步、不同框架具体加载使用不同的加载方式,但实现同一mybatis自定义接口Log
mybatis之日志源码解析_第3张图片
第三步,通过构造器模式,创建日志实例
mybatis之日志源码解析_第4张图片
mybatis之日志源码解析_第5张图片
到此,整个myabtsi日志源码就分析完了。它应用的设计思想,确实很精妙。通过LogFactory去尝试加载各大日志框架,再统一封装成自定义的Log接口。客户端毫无感知这一切的过程。并且日志的切换很灵活。其实,我们可以吧这种思想应用到我们实际项目中, 比如redis客户端的封装(单机、分片、集群模式)通过统一操作返回。

你可能感兴趣的:(mybatis,设计模式,源码解读)