Shmilyz Blog

不以物喜 不以己悲

Mybatis源码分析第二讲之SQLSessionFactory的初始化

Mybatis源码分析第二讲之SQLSessionFactory的初始化 我们在这一行打上断点,我们探究如何获得sqlSessionFactory对象,首先我们进去build()方法。 我们首先得到一个XMLConfigBuilder对象parser,从字面理解它是一个xml的解析器,我们看方法里面传入了输入流等对象,我们看build(parser.parse())这个方法都执行了什...

Mybatis源码分析第一讲之Mybatis概述

MyBatis简介与其他同类框架的对比 MyBatis原名iBatis,它是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架等等等,这些概念和历史百度都能搜到,我就不在这里赘述了,简单的说MyBatis就是一个基于JDBC的可以与数据库进行交互的半自动的框架,正式因为JDBC的繁琐,导致我们有必要将JDBC进行封装作为底层方法,并且又添加了多种功能,比如对sql语句编写等,更方便...

Spring MVC源码分析系列之拦截器的运行流程

拦截器的运行流初认识 情景一 笔者创建了一个自定义的拦截器,并在拦截器方法的和核心方法里面打印对应的方法名。运行Tomcat,我们打印出如下内容。 preHandler() method() postHandler() afterCompletion() 情景二 笔者创建一个自定义的拦截器,在拦截器的preHandler()中将返回值由true替换为false,运行Tom...

Spring MVC源码分析系列之获取HandlerExecutionChain对象

对HandlerExecutionChain的初认识 我先来给大家简单的提供一个简单的认识,这样我们在进行源码分析的时候我们可以更快的理解。 根据官方提供的信息,HandlerExecutionChain的中文名称叫做处理器调用链,这里面包含了handler(handler是目标处理器的意思,里面的核心装载了我们的目标方法,就是我们自己定义的那些方法)还有一些相关的拦截器。而Handle...

Spring MVC源码分析系列之Spring MVC运行流程问题

简述SpringMVC的运行流程 我们先简单的对SpringMVC的运行流程进行一些简单的回顾。 首先用户发送请求后有我们的SpringDispatcherServlet进行拦截,然后交由处理映射器去检查我们在SpringMVC中是否存在对应的映射,如果不存在我们则去查看我们是否配置了default-servlet-handler,没有控制台报错,并显示404页面,如果存在目标资源,则显...