缘起:=====》》》》

在项目中实际上是用到了Spring的内容,只是直接用的SpringBoot,不管是Eclipse中还是在Intellig IDEA中,应该都比较容易能够直接建立起项目,默认配置也就都有了,基于此增加存储、处理逻辑以及展示等的模块,并且抽取出公共模块,项目最终能够完整完善的运行,在此过程中经历了N多次的项目需求的变更,发现自己写了一些比较废弃的类,并且对设计模式的掌握不够清晰,无法很好的指导自己,也无法设计出一个更好的项目架构,开始心存疑惑如何能够更好提高?当下这种不断丰富起来的快速包装上手的方式,对技术人员来说,用起来是很方便了,但也会让大家陷入到不断的外扩宽度上有明显的了解,确实能够很快找到解决方案并且得到有效结果,但实际深度上并没有一个特别明显的提高,导致扎不下去,因为底层理解不深入导致无法站在一个更高的角度上看问题,没有方法论的指导在很多情况下显得格外惨烈,基于此想要将地基打得更牢。

综上所述,所处阶段基于个人理解处在 ——》 现在是不理解导致可能用了一些例如设计模式或者方法论等但是不自知;第二阶段:要理解清楚底层和细节,从分析源码开始,建立起自己的认知和架构方式,知其然知其所以然;第三阶段,建立起水平横向维度和纵向深度维度,关联性也都建立起来之后,融会贯通,以无意识的方式指导自己的项目架构设计

笔落:=====》》》》

后续会以专题系列的形式持续更新博客,会结合官网内容以及参考一些网上的大神所写内容,如有参考或者有摘录引用,均会标注引用出处,若有未及时标注的,请与博客下方留言私信即可

细探:=====》》》》

该系列是以Spring为主线的,会从几个部分进行更新:

一、基础环境配置:包括Spring源码下载和Intellig IDEA的使用;Intellig IDEA的快捷键使用总结

二、基础项目创建:SpringMVC的一个基础项目的创建,包含项目创建过程,以及配置等的含义,SpringMVC的框架原理及运行机制(看官方文档,自己画图,并且通过单步调试进行步骤确认)

三、从框架原理和运行机制,看源码(从SpringIOC、DI源码进行分析过程,关注xml和注解的不同处理方式,梳理清楚整个过程,手写Spring的IOC过程并对比源码理解清楚源码)

四、源码中用到的设计模式:对应到三中,并且加入自己的理解,实现一些class并运行

五、后续持续更新…

回顾:=====》》》》

在此过程中会不断回顾内容,保证不跑偏不懈怠,也可能出现内容的调整等;各位博友在看到内容时若有困惑,可以及时私信留言一起探讨,后续也会增加其他渠道的更新,另外,博文转发请标注出处

【Spring学习】Spring的源码解析之路的更多相关文章

  1. 【Spring】Spring IOC原理及源码解析之scope=request、session

    一.容器 1. 容器 抛出一个议点:BeanFactory是IOC容器,而ApplicationContex则是Spring容器. 什么是容器?Collection和Container这两个单词都有存 ...

  2. Spring Boot系列(三):Spring Boot整合Mybatis源码解析

    一.Mybatis回顾 1.MyBatis介绍 Mybatis是一个半ORM框架,它使用简单的 XML 或注解用于配置和原始映射,将接口和Java的POJOs(普通的Java 对象)映射成数据库中的记 ...

  3. Spring Boot @Enable*注解源码解析及自定义@Enable*

      Spring Boot 一个重要的特点就是自动配置,约定大于配置,几乎所有组件使用其本身约定好的默认配置就可以使用,大大减轻配置的麻烦.其实现自动配置一个方式就是使用@Enable*注解,见其名知 ...

  4. 深入学习 esp8266 wifimanager源码解析(打造专属自己的web配网)

    QQ技术互动交流群:ESP8266&32 物联网开发 群号622368884,不喜勿喷 单片机菜鸟博哥CSDN 1.前言 废话少说,本篇博文的目的就是深入学习 WifiManager 这个gi ...

  5. spring cloud深入学习(四)-----eureka源码解析、ribbon解析、声明式调用feign

    基本概念 1.Registe 一一服务注册当eureka Client向Eureka Server注册时,Eureka Client提供自身的元数据,比如IP地址.端口.运行状况指标的Uri.主页地址 ...

  6. 【Spring学习】Spring的源码解析之路 ——【step1】基础环境配置 + IDEA快捷键整理

    前导: 本次主要是关于“基础环境搭建”的内容,分为三个部分,(1)查看源码和项目需要的开发集成环境Intellig IDEA的使用,(2)如何导入源码,(3)在这个过程中梳理出的快捷键 正文:==== ...

  7. Spring中AOP相关源码解析

    前言 在Spring中AOP是我们使用的非常频繁的一个特性.通过AOP我们可以补足一些面向对象编程中不足或难以实现的部分. AOP 前置理论 首先在学习源码之前我们需要了解关于AOP的相关概念如切点切 ...

  8. Spring Boot自动配置源码解析(基于Spring Boot 2.0.2.RELEASE)

    在Spring Boot官方介绍中,首一段话是这样的(如下图).我们可以大概了解到其所表达的含义:我们可以利用Spring Boot写很少的配置来创建一个非常方便的基于Spring整合第三方类库的单体 ...

  9. Spring Boot入门,源码解析

    目录 1.Spring Boot简介 2.微服务 3.Spring Boot HelloWorld 3.1 创建一个Maven工程 3.2 导入依赖Spring Boot相关的依赖 3.3 编写一个主 ...

随机推荐

  1. springboot项目如何打包成war包

    一.修改打包形式 在pom.xml里设置 <packaging>war</packaging> 二.移除嵌入式tomcat插件 在pom.xml里找到spring-boot-s ...

  2. 数学模块_math

    ceil 进一, 向上取整 floor 向下取整 pow(x, y) x的y次方 print(math.pow(2, 3)) # 8.0 sqrt(x) x的开平方(结果为浮点数) print(mat ...

  3. 关于Python的Mixin模式

    转自:http://www.bjhee.com/python-mixin.html 像C或C++这类语言都支持多重继承,一个子类可以有多个父类,这样的设计常被人诟病.因为继承应该是个”is-a”关系. ...

  4. Stream初步应用

    一.什么是stream Stream(流)是一个来自数据源的元素队列并支持聚合操作,数据来源可以从inputstream,数组,集合中获取:聚合操作可以类似SQL语句一样的操作, 比如filter, ...

  5. Linux裸设备管理详解--

    裸设备概述 裸设备:也叫裸分区(原始分区),是一种没有经过格式化,不被Unix/Linux通过文件系统来读取的特殊字符设备.裸设备可以绑定一个分区,也可以绑定一个磁盘.字符设备:对字符设备的读写不需要 ...

  6. LayaAir疑难杂症之二:字符输入限制不生效(多个限制条件该如何赋值给restrict)

      问题描述 采用LayaAir进行开发,在使用TextInput时,对restrict属性进行赋值,使该输入框只允许输入中英文.数字,restrict = “[\u4E00-\u9FA5A-Za-z ...

  7. [UnityShader基础]07.MaterialPropertyDrawer

    参考链接: https://blog.csdn.net/e295166319/article/details/60141677 https://docs.unity3d.com/ScriptRefer ...

  8. 开窗函数over

    select   id,sum(je) over() as je from dt

  9. java异常——五个关键字(try、catch、finally、throw、throws)

    一.try.catch.finally常用组合 try{ xxx }catch(xxxException e){ e.printStackTrace(); } try{ xxx }catch(xxxE ...

  10. jedisCluster 报错: redis.clients.jedis.exceptions.JedisClusterException: No way to dispatch this command to Redis Cluster because keys have different slots.

    根本原因:jedisCluster不支持mget/mset等跨槽位的操作. 版本:2.9.0 解决办法,推荐更改redis的驱动修改为: lettuce lettuce 项目地址:https://gi ...