【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 编写一个主 ...
随机推荐
- Java定时器小实例
有时候,我们需要在Java中定义一个定时器来轮询操作,比如每隔一段时间查询.删除数据库中的某些数据等,下面记录一下一种简单实现方式 1,首先新建一个类,类中编写方法来实现业务操作 public cla ...
- GoLand、Pycharm注册码
GoLand.Pycharm注册码 K71U8DBPNE-eyJsaWNlbnNlSWQiOiJLNzFVOERCUE5FIiwibGljZW5zZWVOYW1lIjoibGFuIHl1IiwiYXN ...
- hustOJ 添加 golang 支持
hustOJ 支持Go1.7.1 是否为docker环境不重要,此处所有内容均为docker中执行,普通主机手动安装则更加如此 建议在docker中执行,因为OJ为严控恶意权限,judge_clien ...
- Python学习【01】编程语言简介,Python安装及环境变量配置
编程语言介绍 开发 系统软件开发:Windows,iOS 应用软件开发:淘宝.网易云音乐.QQ 开发语言 高级语言:Python,Java,PHP, c#,GO,ruby,c++ ---&g ...
- php查询mysql数据库
1.连接数据库,写成一个php,其他文件直接include <?php $connect = mysql_connect("ip地址","用户",&quo ...
- Android 开发 监听back并且执行home键功能
方法一: 在activity中重写onBackPressed()方法 ,注意此处一定要注释或者删除 super.onBackPressed();方法 @Override public void onB ...
- Android 开发 关于APP无法安装到Android模拟器上的问题
我们在创建一个app后,打算安装到Android模拟器上.可能会出现无法安装,或者提示已经安装无法卸载的问题.这个时候需要添加兼容CPU. 选择 build.gradle 文件打开添加如下代码: an ...
- requests https 错误
HTTPS请求进行SSL验证或忽略SSL验证才能请求成功,忽略方式为 verify=False
- python标签值标准化到[0-(#class-1)]
python 处理标签常常需要将一组标签映射到一组数字,数字还要求连续. 比如 ['a', 'b', 'c', 'a', 'a', 'b', 'c'] ==(a->0, b->1, c-& ...
- oo第一次总结博客
一. 多项式求导问题描述 基本概念的声明: 带符号整数 支持前导 0 的带符号整数,符号可忽略,如:+02.-16.19260817 等. 因子 变量因子 幂函数 一般形式 由自变量x和指数组成,指数 ...