![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spring
元 :)
这个作者很懒,什么都没留下…
展开
-
【Spring源码开整】06. SpringMVC原理分析
SpringMVC原理分析 1.目标 理解原生servlet与servlet容器 理解SpringMVC的请求处理流程 2.原生servlet 2.1 回顾 首先我们回忆一下在使用诸如Structs2、SpringMVC框架之前我们是如何处理来着B端或是C端的请求的。下面我们用一张图来进行说明。 从Brower来的http请求会有Tomcat、Jetty这样的Servlet容器来接受。比如Tomcat默认监听8080端口,在传输层对请求进行处理是剥离掉TCP头解析出对应端就会把请求端口是80原创 2020-06-25 23:22:42 · 115 阅读 · 0 评论 -
【Spring源码开整】05. Spring Bean生成
Spring Bean生成 1.目标 自然是来看看spring的bean生成流程的源码 但是这流程就算不关注大量细节,也真的很长,后面考虑把这一篇再拆一拆 2.查找入口 private static void testSpring() { ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("beans.xml"); Object alice = context.ge原创 2020-06-01 22:41:59 · 165 阅读 · 0 评论 -
【Spring源码开整】04. Spring BeanDefinition加载
Spring BeanDefinition加载 1. 目标 经过两轮简单的手撕代码,最为核心几个类的作用已经基本解释清楚了。之前一直强调写代码是为了帮助理解,这里我们来看看spring BeanDefinition的加载流程。Bean的加载安排在下一篇。 源码的阅读,老实是去理解设计者的思维。老实说不会是很简单有趣的事情,当时会有收获。spring的源码体现着优秀的设计原则与设计模式。 2. 准备与入口 读源码最好是本地把源码跑起来,网上已经有很多基于各种IDE+gradle把源码跑起来的博客,原创 2020-05-27 14:41:29 · 141 阅读 · 0 评论 -
【Spring源码开整】03. 手写IOC容器--面向对象拆分
1. 目标 在手写IOC容器–实现功能以面向过程的方式实现了spring IoC容器的基本思路,下面我们以面向对象的思维方式来对该部分的代码进行拆分,进一步模拟spring的IoC实现。 重复强调下自己实现该部分只是为了帮助阅读Spring源码时的理解学习spring的代码结构,不是完整的写一遍Spring,所以仍然只有一些小编理解上的核心逻辑,各位看官也就当个参考就好。 2. Spring IoC中的一些重要接口与类说明 后面的实现会劲量参考着Spring的继承体系来完成以便于在阅读源码时有相原创 2020-05-22 00:02:24 · 112 阅读 · 0 评论 -
【Spring源码开整】02. 手写IOC容器--实现功能
1. 目标 以面向过程的方式完成基本的IoC容器下一篇基于该实现完成spring基础BeanFactory的改造。下面的代码只会完成最为基础的部分,异常处理多种标签的解析不写入该实现中。 手写IoC是为了帮助理解Spring IoC容器。 2. Spring Xml的封装分析 Spring IoC容器帮助使用者完成了大量的基础工作,是Spring最为核心的部分。下面先来看看一个基本Xml封装 每个标签封装成一个BeanDefinition对象记录类的类型,id,初始化方法,作用域,以及字段原创 2020-05-18 22:04:57 · 128 阅读 · 0 评论 -
【Spring源码开整】01. Spring概念梳理
Spring源码开整 该系列以手写spring framework中的核心部分帮助理解源码 1. 目标 为什么需要spring 搞清楚spring全家桶常用技术 搞清楚spring框架的主要职责 搞清楚spring框架和springboot的区别 搞清楚spring框架中各模块的作用 搞清楚spring中的核心概念,基础容器、高级容器、ioc容器、ioc、aop、di、bop、循环依 赖等 2. 概念解析 2.1 为什么需要spring Spring是个一站式解决方案,使创建Java企业级应用程序变原创 2020-05-16 20:11:07 · 217 阅读 · 0 评论