源码分析
文章平均质量分 80
源码相关技术分析
Zerooooooooooooooooo
这个作者很懒,什么都没留下…
展开
-
Mybatis自定义插件实现
一、插件说明 MyBatis 允许你在映射语句执行过程中的某一点进行拦截调用。默认情况下,MyBatis 允许使用插件来拦截的方法调用包括: Executor (update, query, flushStatements, commit, rollback, getTransaction, close, isClosed) ParameterHandler (getParameterObject, setParameters ResultSetHandler (handleResultSets, han原创 2022-04-01 11:24:51 · 1117 阅读 · 0 评论 -
MyBatis原理解析
一、Mybatis架构图 二、Mybatis核心解析 1、Mybatis核心流程 读取配置及mapper文件流程 创建sqlSession流程 执行语句流程 2、Mybatis核心类 SqlSessionFactoryBuilder:加载并解析配置 SqlSession:创建执行sql的上下文环境 MapperStatement:执行sql时的mapper文件的实体映射 MapperProxy:具体执行sql的代理对象 Executor:执行sql语句的执行器 3、缓存机制 MyBatis.原创 2022-03-30 17:34:15 · 750 阅读 · 0 评论 -
Spring源码编译
一、下载源码 在github或者gitee上下载spring-framework的特定版本的源码,这里选择5.3.8版本,openjdk的版本为8以上。新版本用的是gradle 7,添加依赖的命令不熟悉,故使用gradle 6版本进行编译。 spring源码地址 二、配置仓库地址 下载好源码之后,解压并修改build.gradle文件中的仓库地址,加快编译速度。 编译仓库地址代码如下: repositories { maven{ url 'https://maven.aliyun.com/n原创 2022-03-29 18:25:19 · 935 阅读 · 0 评论 -
Spring之AOP详解
Spring之AOP详解 一、概述 放在最前边,Spring AOP官方文档,传送门:spring-aop。个人感觉官方文档就是最好的学习文档,上边有详细的说明和细节的解释。其中将OOP和AOP做了简单对比。 OOP(Object-oriented Programming):面向对象编程,一切皆对象,最小单元为class AOP(Aspect-oriented Programming):面向切面编程,一切皆切面,最小单元为aspect 1、何为AOP ...原创 2020-06-05 16:40:09 · 171 阅读 · 0 评论 -
Spring中循环依赖
Spring中循环依赖 一、造成原因 在开发过程中,可能遇到的一个场景就是:在Bean A中通过构造器依赖了Bean B,而Bean B在构造器中也依赖了Bean A,这样Spring容器在实例化Bean的时候就会报一个循环依赖BeanCurrentlyInCreationException异常。如下: @Component public class User { private String id; private String username; private Car car原创 2020-06-03 10:45:45 · 160 阅读 · 0 评论 -
BeanCreationException:Injection of autowired dependencies failed异常的解决思路
关于BeanCreationException:Injection of autowired dependencies failed异常的解决思路 总结一下今天下午的研究成果,整合SSM项目时候,最后测试从库中查询数据报了一个这样的异常,很是让我头大,足足百度+stackoverflow了一下午,愣是没有研究出成果,最后快要吃饭的时候静下心来想一想,到底是哪里出了问题,从最开始的流程去想转载 2017-04-10 23:35:37 · 1405 阅读 · 2 评论