【Spring学习】Spring的源码解析之路
缘起:=====》》》》
在项目中实际上是用到了Spring的内容,只是直接用的SpringBoot,不管是Eclipse中还是在Intellig IDEA中,应该都比较容易能够直接建立起项目,默认配置也就都有了,基于此增加存储、处理逻辑以及展示等的模块,并且抽取出公共模块,项目最终能够完整完善的运行,在此过程中经历了N多次的项目需求的变更,发现自己写了一些比较废弃的类,并且对设计模式的掌握不够清晰,无法很好的指导自己,也无法设计出一个更好的项目架构,开始心存疑惑如何能够更好提高?当下这种不断丰富起来的快速包装上手的方式,对技术人员来说,用起来是很方便了,但也会让大家陷入到不断的外扩宽度上有明显的了解,确实能够很快找到解决方案并且得到有效结果,但实际深度上并没有一个特别明显的提高,导致扎不下去,因为底层理解不深入导致无法站在一个更高的角度上看问题,没有方法论的指导在很多情况下显得格外惨烈,基于此想要将地基打得更牢。
综上所述,所处阶段基于个人理解处在 ——》 现在是不理解导致可能用了一些例如设计模式或者方法论等但是不自知;第二阶段:要理解清楚底层和细节,从分析源码开始,建立起自己的认知和架构方式,知其然知其所以然;第三阶段,建立起水平横向维度和纵向深度维度,关联性也都建立起来之后,融会贯通,以无意识的方式指导自己的项目架构设计
笔落:=====》》》》
后续会以专题系列的形式持续更新博客,会结合官网内容以及参考一些网上的大神所写内容,如有参考或者有摘录引用,均会标注引用出处,若有未及时标注的,请与博客下方留言私信即可
细探:=====》》》》
该系列是以Spring为主线的,会从几个部分进行更新:
一、基础环境配置:包括Spring源码下载和Intellig IDEA的使用;Intellig IDEA的快捷键使用总结
二、基础项目创建:SpringMVC的一个基础项目的创建,包含项目创建过程,以及配置等的含义,SpringMVC的框架原理及运行机制(看官方文档,自己画图,并且通过单步调试进行步骤确认)
三、从框架原理和运行机制,看源码(从SpringIOC、DI源码进行分析过程,关注xml和注解的不同处理方式,梳理清楚整个过程,手写Spring的IOC过程并对比源码理解清楚源码)
四、源码中用到的设计模式:对应到三中,并且加入自己的理解,实现一些class并运行
五、后续持续更新…
回顾:=====》》》》
在此过程中会不断回顾内容,保证不跑偏不懈怠,也可能出现内容的调整等;各位博友在看到内容时若有困惑,可以及时私信留言一起探讨,后续也会增加其他渠道的更新,另外,博文转发请标注出处
【Spring学习】Spring的源码解析之路的更多相关文章
- 【Spring】Spring IOC原理及源码解析之scope=request、session
一.容器 1. 容器 抛出一个议点:BeanFactory是IOC容器,而ApplicationContex则是Spring容器. 什么是容器?Collection和Container这两个单词都有存 ...
- Spring Boot系列(三):Spring Boot整合Mybatis源码解析
一.Mybatis回顾 1.MyBatis介绍 Mybatis是一个半ORM框架,它使用简单的 XML 或注解用于配置和原始映射,将接口和Java的POJOs(普通的Java 对象)映射成数据库中的记 ...
- Spring Boot @Enable*注解源码解析及自定义@Enable*
Spring Boot 一个重要的特点就是自动配置,约定大于配置,几乎所有组件使用其本身约定好的默认配置就可以使用,大大减轻配置的麻烦.其实现自动配置一个方式就是使用@Enable*注解,见其名知 ...
- 深入学习 esp8266 wifimanager源码解析(打造专属自己的web配网)
QQ技术互动交流群:ESP8266&32 物联网开发 群号622368884,不喜勿喷 单片机菜鸟博哥CSDN 1.前言 废话少说,本篇博文的目的就是深入学习 WifiManager 这个gi ...
- spring cloud深入学习(四)-----eureka源码解析、ribbon解析、声明式调用feign
基本概念 1.Registe 一一服务注册当eureka Client向Eureka Server注册时,Eureka Client提供自身的元数据,比如IP地址.端口.运行状况指标的Uri.主页地址 ...
- 【Spring学习】Spring的源码解析之路 ——【step1】基础环境配置 + IDEA快捷键整理
前导: 本次主要是关于“基础环境搭建”的内容,分为三个部分,(1)查看源码和项目需要的开发集成环境Intellig IDEA的使用,(2)如何导入源码,(3)在这个过程中梳理出的快捷键 正文:==== ...
- Spring中AOP相关源码解析
前言 在Spring中AOP是我们使用的非常频繁的一个特性.通过AOP我们可以补足一些面向对象编程中不足或难以实现的部分. AOP 前置理论 首先在学习源码之前我们需要了解关于AOP的相关概念如切点切 ...
- Spring Boot自动配置源码解析(基于Spring Boot 2.0.2.RELEASE)
在Spring Boot官方介绍中,首一段话是这样的(如下图).我们可以大概了解到其所表达的含义:我们可以利用Spring Boot写很少的配置来创建一个非常方便的基于Spring整合第三方类库的单体 ...
- Spring Boot入门,源码解析
目录 1.Spring Boot简介 2.微服务 3.Spring Boot HelloWorld 3.1 创建一个Maven工程 3.2 导入依赖Spring Boot相关的依赖 3.3 编写一个主 ...
随机推荐
- canvas一些属性
lineTo(x,y) 定义线条结束坐标 moveTo(x,y) 定义线条开始坐标 ctx.stroke();绘制空心图形 ctx.fill();填充图形 把当前路径环绕起来的区域进行填充 ctx.f ...
- note 6 函数
函数 完成特定功能的一个语句组,这组语句可以作为一个单位使用,并且给它取一个名字 通过函数名执行 数学 function(x) = x^2 - 2x + 1 abs(x) #求x的绝对值 定义函数 定 ...
- 解决WCF“接收对 http://xxx.svc 的 HTTP 响应时发生错误。这可能是由于服务终结点绑定未使用 HTTP 协议造成的。这还可能是由于服务器中止了 HTTP 请求上下文(可能由于服务关闭)所致"
最近在工作中新加了一个接口,本地调试的时候,直接抛出“接收对 http://xxx.svc 的 HTTP 响应时发生错误.这可能是由于服务终结点绑定未使用 HTTP 协议造成的.这还可能是由于服务器中 ...
- Linux常见企业面试题
1:只查看test.txt (100行)文件中第20行到30行的数据(企业常见面试题) 答: seq (序列) 第一种方法:head -30 test1.txt | tail -11 第二种方法:se ...
- SDWebImageRefreshCached
来源: http://blog.csdn.net/jiadabin/article/details/52129789 来源: http://blog.csdn.net/jiadabin/article ...
- vscode中使用markdown(转)
vscode 是微软推出一款轻量级的文本编辑工具,类似于sublime,由于其拥有丰富的插件,安装使用也非常简单,所以深受广大程序员的喜爱. markdown 是一种可以使用普通文本编辑器编写的标记语 ...
- django rest framework serializer中获取request中user方法
views.py serializer = self.get_serializer(data=request.data, context={'request': request}) seriali ...
- 用Itextsharp 组件导出PDF 的文档的方法
Itextsharp 是一个很强大,开源的,轻量级的 PDF 生成组件,官方网上好像没有相应的API 说明文档,以下是在工作中使用的心得与体会,并附上源码,功能包含了pdf 的创建,table 的创建 ...
- (Python基础)字符串操作
以下是我在学习过程中用的一些常用字符串操作的相关列子和具体注释,感兴趣的可以自己动手试试看 #字符串操作 name = 'my name is keep' print(name.capitalize( ...
- 【HDFS API编程】查看文件块信息
现在我们把文件都存在HDFS文件系统之上,现在有一个jdk.zip文件存储在上面,我们想知道这个文件在哪些节点之上?切成了几个块?每个块的大小是怎么样?先上测试类代码: /** * 查看文件块信息 * ...