日期: 2020-05-12 17:33:22
第1章 课程导学与概览【为源码学习和框架开发备好足够弹药】
本章首先:纵观课程所有知识点。其次:讲解通用得学习成长路线;最后:明确学习本课程所需得前置要求。帮助小伙伴选择好的课,对的课,以及跟对师父,让学习成长事半功倍。
1-1 剑指造轮子,决胜Spring源码 试看
1-2 学前需知
第2章 环境准备【磨刀不误砍柴工】
本章将领小伙伴一起将Spring的源码环境搭建好。同时,咱们还会搭建业务项目的初始化环境,确保万事俱备。
2-1 Spring模块梳理
2-2 Spring源码的下载和编译
2-3 Spring源码的下载和编译
2-4 自研框架的整体介绍及雏形搭建
2-5 本章小结
第3章 业务系统架子的构建【自研框架的起源】
本章从0去基于一个简单的业务:从需求分析、技术设计,代码实现。期间涵盖:经典得MVC架构以及相关设计模式。采用问题驱动式教学,先抛出问题启发思考对比多种方案,最终借鉴Spring框架DispatcherServlet解决问题。
3-1 项目业务梳理、数据库和实体类的设计
3-2 项目依赖配置以及门面模式讲解
3-3 项目依赖配置以及门面模式讲解
3-4 泛型讲解(上)
3-5 泛型讲解(下)
3-6 Service层代码架子的搭建
3-7 Controller层代码架子的搭建
第4章 自研框架IOC实现前奏【从项目开发到框架开发的转换】
本章引入工厂模式来优化自研框架架构,经过不断尝试,最终发现SpringIOC方式是最佳的框架选型。在调研的过程中,会扫清理解IOC的障碍,涉及常见的工厂模式、反射、注解的使用及其原理、控制反转原理等。
4-1 尝试引入简单工厂模式
4-2 尝试引入工厂方法模式 试看
4-3 尝试引入抽象工厂模式
4-4 利器之反射
4-5 反射之获取并操作构造函数
4-6 反射之获取并操作成员变量
4-7 反射之获取并操作成员方法
4-8 必知必会的注解
4-9 自定义注解的声明和使用
4-10 注解背后的底层实现
4-11 IOC前传
4-12 本章小结
第5章 自研框架IoC容器的实现 【实战了解SpringIOC的脉络】
在攻克了自研IoC的外围阵地后,咱们开始攻克IoC容器的开发,涉及到容器本身的实现、依赖注入功能、注解的学以致用以及使用Paser模块来定位并解析被注解标记的元素。细节之处,涉及到了安全的单例写法等
5-1 实现思路概述以及注解标签的创建
5-2 根据package获取类集合之通过类加载器获取资源信息
5-3 根据package获取类集合之实现Class对象的提取【上】
5-4 根据package获取类集合之实现Class对象的提取【下】
5-5 烂大街的单例真的足够安全吗
5-6 无视反射和序列化攻击的单例
5-7 容器的载体以及容器的加载
5-8 提供容器对外操作的方法
5-9 实现容器的依赖注入【上】
5-10 实现容器的依赖注入【下】
5-11 本章小结
第6章 SpringIoC容器的源码解析 【正式向Spring宣战】
本章首次攻入Spring源码阵地,对Spring核心:BeanDefinition,容器,Resource,ResourceLoader,BeanDefinitionReader等扫荡一遍。随后深入分析配置的定位、加载、解析和注册的源码流程。坚持学下去定见彩虹!
6-1 挖掘切入源码的线索
6-2 Beab与BeanDefinition
6-3 击破简单容器【上】
6-4 击破简单容器【下】
6-5 轰炸高级容器
6-6 弄清Resource、ResourceLoader、容器之间的微妙关系
6-7 ResourceLoader的使用者-BeanDefinitionReader
6-8 通过document对象解析出BeanDefinition实例
6-9 BeanDefinition的注册
6-10 xml配置的资源定位、加载、解析、注册全链路分析
6-11 注解配置的资源定位、加载、解析、注册全链路概览
6-12 本章小结
第7章 详解SpringIoC容器的初始化 【打通refresh方法的全链路】
本章开始扫荡容器初始化知识点,依次拔除掉容器级别以及Bean级别的后置处理器、Aware神兽召唤接口以及事件监听器模式等外围暗堡后,开始全面进攻容器通用的初始化链路,完成对容器初始化的全链路分析。
7-1 进攻refresh方法前必会知识之PostProcessor
7-2 进攻refresh方法前必会知识之Aware及其子接口
7-3 进攻refresh方法前必会知识之时间监听器模式(上)
7-4 进攻refresh方法前必会知识之时间监听器模式(下)
7-5 手撕Spring容器的刷新逻辑(上)
7-6 手撕Spring容器的刷新逻辑(下)
7-7 本章小结
第8章 精讲SpringIoC容器的依赖注入 【攻坚Bean实例的创建】
本章将是一场恶战,从源码层面上逐层了解Bean实例创建,以refresh方法里创建非延迟加载的单例getBean方法为入口,讲解Spring容器用来解决循环依赖的三级缓存,对主要生命周期的处理,打通IOC从初始化到使用的闭环。
8-1 闪击依赖注入
8-2 夺取doGetBean之从缓存获取Bean
8-3 夺取doGetBean之剩余逻辑的扫荡
8-4 强攻Bean的创建
8-5 doCreateBean之创建无属性的Bean实例
8-6 doCreateBean之处理@Autowired以及@Value标签
8-7 doCreateBean之剩余逻辑的扫荡
第9章 自研框架AOP的讲解与实现 【实战了解SpringAOP的核心脉络】
本章再次回到自研框架,先分析AOP相关核心知识,讲解CGLib和动态代理两种模式,以及Spring是如何运用AOP的。随后,动手实践自研框架的AOP模块,让自研框架的功能更加丰富,也为后续进击SpringAOP做好准备。
第10章 SpringAOP的源码解析 【精准打击SpringAOP的核心源码】
本章咱们将来个“回马枪”,再次杀回Spring里,继续手撕SpringAOP的源码.。
第11章 自研框架MVC的实现 【实战了解SpringMVC的核心脉络】
为了让自研框架对外可用,咱们将打通Web框架部分,实现通用的请求分发流程..
第12章 SpringMVC流程分析【摸通SpringMVC的应用】
本章,咱们来分析Spring经典的Web应用–SpringMVC的源码