自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 资源 (1)
  • 收藏
  • 关注

原创 【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 111

原创 【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 164

原创 【Spring源码开整】04. Spring BeanDefinition加载

Spring BeanDefinition加载 1. 目标 ​ 经过两轮简单的手撕代码,最为核心几个类的作用已经基本解释清楚了。之前一直强调写代码是为了帮助理解,这里我们来看看spring BeanDefinition的加载流程。Bean的加载安排在下一篇。 ​ 源码的阅读,老实是去理解设计者的思维。老实说不会是很简单有趣的事情,当时会有收获。spring的源码体现着优秀的设计原则与设计模式。 2. 准备与入口 ​ 读源码最好是本地把源码跑起来,网上已经有很多基于各种IDE+gradle把源码跑起来的博客,

2020-05-27 14:41:29 140

原创 【Spring源码开整】03. 手写IOC容器--面向对象拆分

1. 目标 ​ 在手写IOC容器–实现功能以面向过程的方式实现了spring IoC容器的基本思路,下面我们以面向对象的思维方式来对该部分的代码进行拆分,进一步模拟spring的IoC实现。 ​ 重复强调下自己实现该部分只是为了帮助阅读Spring源码时的理解学习spring的代码结构,不是完整的写一遍Spring,所以仍然只有一些小编理解上的核心逻辑,各位看官也就当个参考就好。 2. Spring IoC中的一些重要接口与类说明 ​ 后面的实现会劲量参考着Spring的继承体系来完成以便于在阅读源码时有相

2020-05-22 00:02:24 111

原创 【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

原创 【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 216

原创 2.从spi来开启dubbo的旅程

1. 写在前面: ​ 读dubbo源码之前建议先看看官方文档http://dubbo.apache.org/zh-cn/docs/user/quick-start.html,很少有人能比原作者们写的更好了,只能说是按自己的理解来阐述。 2. spi你想干啥子 ​ 编程中我们有一般遵循几大原则比如开闭原则、单一职责、依赖倒置等等。依赖倒置核心思想是:要面向接口编程,不要面向实现编程。 ​ SPI 全...

2020-01-30 17:23:50 136

原创 1.初来乍到dubbo请多关照

1. 写在前面: ​ 读代码就像读书,如同与一群优秀工程师架构师交流。 ​ 这一系列都是费曼学习法的学习笔记。 2. 准备: 官方文档http://dubbo.apache.org/zh-cn/docs/user/quick-start.html 环境准备 网上这方面的东西很多,自行百度吧 3. hello word ​ 环境说明:demo基于springboot实现,zookeepe...

2020-01-17 17:02:08 81

intellij-rainbow-brackets-5.28.zip

彩虹括号,外网不便的可以试试。

2020-01-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除