![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spring
文章平均质量分 91
120steps
这个作者很懒,什么都没留下…
展开
-
手撸简易spring框架(五)
目录前言DispatcherServletHandlerMappingHandlerAdapterViewResolverdoDispatch成果展示最后 前言 这次我们来完成MVC的模块,最终目标需要达到用户能够使用Controller,浏览器能够显示模板引擎渲染的结果。为了能够解析前端的HTTP协议请求,需要在项目POM中引入Servlet。 <!--引入Servlet--> <dependency> <groupId>javax.servlet</gr原创 2021-03-11 18:32:43 · 230 阅读 · 0 评论 -
手撸简易spring框架(四)
目录前言JoinPointMethodInterceptorAdvice实现多种通知类型AopProxy对象实例化前创建代理成果展示最后 前言 这次我们来完成AOP的流程,有一定的困难,大家做好准备,也希望笔者能用最简洁的语言给大家讲明白。如果读者不太了解Spring的AOP原理,可以先看《面试问烂的 Spring AOP 原理、SpringMVC 过程》这篇文章。文章中有张关于AOP执行的流程图 ,这里把它引用过来,往下阅读前最好能理解这段流程。 JoinPoint 通知方法的其中一个入参就是JoinP原创 2021-03-11 18:31:25 · 155 阅读 · 0 评论 -
手撸简易spring框架(三)
目录前言非懒加载的提前初始化初始化核心方法getBean依赖注入中段成果展示最后 前言 上一章fresh()中还差第4步“Bean实例化”没有完成,这一章就来搞定它,大名鼎鼎的DI依赖注入也会在这Bean实例化的过程中完成。 非懒加载的提前初始化 这是fresh()的最后一步,逻辑是遍历BeanDefinition集合,将非懒加载的Bean提前初始化。 public void refresh() throws Exception { //1、定位,定位配置文件 reader = new B原创 2021-03-11 18:30:21 · 177 阅读 · 0 评论 -
手撸简易spring框架(二)
目录前言读取配置文件扫描配置文件封装成BeanDefinition注册到容器最后 前言 上一篇文章已经将整体的脉络搭建出来了,这次正式开始手写IOC。ApplicationContext中的refresh()方法是Spring启动的关键,我们就从这里开始一步步开始填坑。 读取配置文件 在DefaultApplicationContext中,我们先完成第一步,定位和解析配置文件。 private void refresh() throws Exception { //1、定位,定位配置文件 r原创 2021-03-11 18:29:11 · 140 阅读 · 0 评论 -
手撸简易Spring框架(一)
目录前言效果预览IOC和DI类图AOP类图MVC类图最后 前言 相信大家平常开发中已经有过大量使用Spring的经验,爱学习的同学肯定也尝试过阅读Spring源码,了解过Spring的启动流程,但不知道大家有没有和我一样心里总是感觉很“虚”,面试遇到了也是结结巴巴的回答。所以这次准备写一系列文章,手写一个简易的Spring,重新捋一遍IOC容器初始化、DI依赖注入、AOP以及Spring MVC启动流程,让我们不再“虚”。 效果预览 先来看下整体的项目架构,总共31个相关类,类和包的命名尽量贴合原生的Spr原创 2021-03-11 17:37:10 · 319 阅读 · 0 评论