剑指Java自研框架,决胜Spring源码【已完结 32G】

  • 第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之剩余逻辑的扫荡
    • 8-8 单例循环依赖的解决
    • 8-9 面试常问问题之Spring对循环依赖的支持情况
    • 8-10 doGetBean之populateBean
    • 8-11 -1 populateBean之剩余逻辑解析
    • 8-12 -2 populateBean之剩余逻辑解析
    • 8-13 本章小结
  • 第9章 自研框架AOP的讲解与实现 【实战了解SpringAOP的核心脉络】

    本章再次回到自研框架,先分析AOP相关核心知识,讲解CGLib和动态代理两种模式,以及Spring是如何运用AOP的。随后,动手实践自研框架的AOP模块,让自研框架的功能更加丰富,也为后续进击SpringAOP做好准备。

    • 9-1 前情回顾
    • 9-2 自上而下从左到右(上)
    • 9-3 自上而下从左到右(下)
    • 9-4 AOP的子民们
    • 9-5 SpringAOP的实现之代理模式讲解
    • 9-6 SpringAOP的实现之JDK动态代理
    • 9-7 SpringAOP的实现之CGLIB动态代理-
    • 9-8 实现自研框架AOP1.0(一)
    • 9-9 实现自研框架AOP1.0(二)
    • 9-10 实现自研框架AOP1.0(三)
    • 9-11 实现自研框架AOP1.0(四)
    • 9-12 裹上AspectJ的外衣
    • 9-13 自研框架AOP2.0的实现(上)
    • 9-14 -1自研框架AOP2.0的实现(下)
    • 9-15 -2 自研框架AOP2.0的实现(下)
    • 9-16 本章小结
  • 第10章 SpringAOP的源码解析 【精准打击SpringAOP的核心源码】

    本章咱们将来个“回马枪”,再次杀回Spring里,继续手撕SpringAOP的源码.。

    • 10-1 BeanPostProcessor及其家族成员(上)
    • 10-2 BeanPostProcessor及其家族成员(下)
    • 10-3 为什么在启动类加上@EnableAspectJAutoProxy就能支持AOP
    • 10-4 AutoProxyCreator及其主要的家庭成员
    • 10-5 横切逻辑的加载分析(上)
    • 10-6 横切逻辑的加载分析(中)
    • 10-7 横切逻辑的加载分析(下)
    • 10-8 筛选匹配的横切逻辑实例(上)
    • 10-9 筛选匹配的横切逻辑实例(下)
    • 10-10 创建动态代理(上)
    • 10-11 创建动态代理(中)
    • 10-12 创建动态代理(下)
    • 10-13 本章小结
  • 第11章 自研框架MVC的实现 【实战了解SpringMVC的核心脉络】

    为了让自研框架对外可用,咱们将打通Web框架部分,实现通用的请求分发流程..

    • 11-1 前情回顾
    • 11-2 自研框架MVC的整体脉络
    • 11-3 DispatcherServlet的重构
    • 11-4 责任链RequestProcessorChain的实现
    • 11-5 RequestProcessor矩阵的实现(1)
    • 11-6 RequestProcessor矩阵的实现(2)
    • 11-7 RequestProcessor矩阵的实现(3)
    • 11-8 RequestProcessor矩阵的实现(4)
    • 11-9 RequestProcessor矩阵的实现(5)
    • 11-10 ResultRender矩阵的实现(上)
    • 11-11 ResultRender矩阵的实现(中)
    • 11-12 ResultRender矩阵的实现(下)
    • 11-13 本章小结
  • 第12章 SpringMVC流程分析【摸通SpringMVC的应用】

    本章,咱们来分析Spring经典的Web应用–SpringMVC的源码

    • 12-1 springmvc的环境搭建以及初始化入口分析(上)
    • 12-2 spring mvc的环境搭建以及初始化入口分析(中)
    • 12-3 spring mvc的环境搭建以及初始化入口分析(下)
    • 12-4 Spring容器是执行refresh方法的入口
    • 12-5 Request与Controller方法映射的创建(上)
    • 12-6 Request与Controller方法映射的创建(下)
    • 12-7 从映射关系里获取处理请求的逻辑实例
    • 12-8 请求参数与执行方法的形参的绑定以及请求的处理
    • 12-9 本章小结
  • 第13章 以终为始【全课总结】

    终点又是新的一个起点。首先恭喜各位小伙伴即将完成本课程学习,本章将带领大家回顾全课,内化成自己核心知识体系。最后,我将在下一个里程碑等着各位小伙伴~

    • 13-1 课程总结

发表评论