![](https://img-blog.csdnimg.cn/20190918140158853.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
手写Spring SpringMVC Mybatis框架
文章平均质量分 73
内容分类为spring bean 生命周期,包含ioc和aop。mvc包含扫描和零配置。mybatis包含整合,四大对象及缓存
拟梦
只愿大浪淘沙,流逝不流它。
展开
-
手写Spring 初始化环境
本篇文章主要内容1.环境设计BeanFactory 和 ApplicationContext 的关系2.扫描Spring优先注册配置类原则即手动指定的配置类会优先扫描加载,看代码XxAnnotationConfigApplicationContext context = new XxAnnotationConfigApplicationContext(AppConfiguration.class);3.解析注册beanDefinition...原创 2021-07-19 11:32:43 · 133 阅读 · 0 评论 -
开始Spring Bean的生命周期
专栏第一篇文章介绍了生命周期的流程有哪些步骤,第二篇文章介绍了将JavaBean 注册成了一个beanDefinition。原创 2021-07-19 14:46:28 · 68 阅读 · 0 评论 -
Spring Aop 前篇-如何解析表达式
Aspect 是如何解析表达式?或者说是如何通过表达式知道哪个对象需要被创建代理Spring 在解析 @Aspect 表达式其实用到的就是Aspect 包里面的API 。第一个对象 PointcutParser 顾名思义 切点解析器第二个对象 PointcutExpression 切点表达式对象如何去解析并命中对象呢1.构建PointcutParser Aspect APIPointcutParser pointcutParser = PointcutParser.getPoi..原创 2021-07-20 21:40:02 · 472 阅读 · 0 评论 -
手写 Spring Aop篇
上面三篇文档介绍了bean的生命周期。通知是如何绑定的,代理对象是如何产生的以及aop是如何调用的呢。一个aop切面包含了哪些内容了一个切面有多个切入点,每个切入点有不同的通知,通知分为before after around(此环境)around 的通知有两个也是之前和之后,这个之前会在before之前执行,这个之后会在after之前执行。那么aop是如何调用的呢。比如我们需要增强A类的query方法。如果A是一个接口,代理对象通过jdk动态代理生成,如果是一个类,代理对象通过cglib生成原创 2021-07-19 16:19:24 · 283 阅读 · 0 评论 -
手写 Spring MVC篇
上面的四篇文章介绍并写完了SpringBean的生命周期,现在开始来写Spring MVCSpring MVC我们只写一层 C层 即 Controller 控制层(没有父子容器)众所周知 Spring MVC有一个中央处理器 叫 DispatcherServlet,实现了HttpServlet 是一个Servlet既然是一个Servlet 肯定是要遵循Servlet的规范。我们通常知道的服务器一般有tomcat 和 jetty等等 ,这两个容器也实现了Servlet的规范。在容器运行完.原创 2021-07-19 15:48:22 · 226 阅读 · 1 评论 -
手写 Mybatis篇
首先 Mybatis 的工作原理Mybatis 有四大对象,是一个责任链的设计模式,而Mybatis的工作原理就是这一条链。第一个对象 Executor 判断应该执行哪一种方法,在Mybatis中只有两种方法 select/update第二个对象ParameterHandler 解析请求参数 #{} 会预编译对比数据库字段和请求参数类型,${}不会对比,如果不匹配则直接抛出异常第三个对象StatementHandler 数据库对象,拿到sql语句并执行,分页插件就是重写了这条sql。..原创 2021-07-19 16:57:51 · 201 阅读 · 0 评论