【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 编写一个主 ...
随机推荐
- git --- 持续更新
东转西转 git 1 git 使用 1.1 git 安装 ~$: sudo apt-get install git 1.2 git 初始化 ~$: git init ~$: git remote ad ...
- 反射 内省 BeanUtil 综合使用
package com.zsphp.domain; public class User { private String userId; private String userName; privat ...
- Redis深入学习笔记(三)RDB及AOF流程
RDB是Redis持久化数据的一种方式,是执行时间点的Redis内存快照,redis数据还原时加载rdb文件,Redis的主从数据同步也是基于RDB实现的. RDB流程: 1)执行bgsave命令,R ...
- 使用腾讯地图和js,html实现地理位置的获取
转自http://blog.csdn.net/eele_one/article/details/64905218<!DOCTYPE html> <html> <head& ...
- c语言函数参数类似继承的传递
函数的参数如果是一个父结构的指针, 这个结构包含在另一个子结构中, typedef struct test_node_one test_node_one_t; typedef struct test_ ...
- React基础概念
Hello Wrold ReactDOM.render( <h1>Hello, world!</h1>, document.getElementById('root') ); ...
- Java ---- 链表逆序
public class LinkedListRevert { public static void main(String[] args) { Node next3 = new Node(4,nul ...
- redis 安装与使用
到git 官网上下载redis: DownLoad,选择.zip 压缩包 2. 下载后,对zip 包进行解压,解压后如下: 3. 配置并安装redis, 打开window dos 窗口,将目录切换到解 ...
- java-其他-索引
数据结构 设计模式 算法题
- 四、Python-元组
列表非常适合用于存储在程序运行期间可能变化的数据集.列表是可以修改的,这对处理网 站的用户列表或游戏中的角色列表至关重要. Python将不能修改的值称为不可变的,而不可变的列表被称为元组 一.元组( ...