多数 Java 开发者依赖 Spring 却只知其然不知其所以然,遇到 AOP 失效、动态代理报错或 MVC 路由异常时,往往只能盲目调参或查碎片化文档。这门课不教业务代码,而是通过拆解 SpringAOP 核心源码与自研框架 MVC 脉络,带你从“调包侠”转型为能看懂框架设计思想的开发者。它旨在让你理解框架底层的运行机制,从而具备独立排查疑难及基于 Spring 思想反向构建轻量级框架的能力。

价值与适用门槛

课程直接针对横切逻辑、动态代理原理及请求分发机制等痛点,解决你无法独立分析框架源码的难题。内容涵盖从 BeanPostProcessor 家族到 AOP 代理创建,再到自研框架的 DispatcherServlet 重构与责任链实现。建议基础需具备扎实的 Java 语法功底,熟悉 Spring 常见注解与概念,若仅停留在简单 CRUD 层面,建议先夯实基础再学此课。

学习路径与实战产出

建议按“先原理后实战”顺序学习。优先深入研读 AOP 源码章节,搞懂动态代理的创建过程及横切逻辑的加载与匹配,这是理解 Spring 上下文管理的基石;随后进入自研框架 MVC 实现部分,梳理从请求入口到视图渲染的完整责任链。学完这两大板块,你不仅能独立分析 Spring 中复杂的代理链,更能脱离现成框架,独立设计并手写一个具备核心功能的轻量级 Web 框架,真正掌握造轮子的能力。

资料配合与练习建议

视频资料是理解底层逻辑的载体,但切忌“只看不练”。观看源码解析章节时,务必暂停视频,对照代码库手动单步调试,观察类加载顺序及代理对象的生成时机,将视频中的逻辑推导在本地代码中复现。对于自研框架部分,建议在理解 DispatcherServlet 重构后,尝试自己编写一个简单的 HandlerMapping 实现,通过手写代码验证资料中讲解的责任链匹配逻辑,确保将理论内化为实际编码能力。

课程目录

第10章 SpringAOP的源码解析 【精准打击SpringAOP的核心源码】12 集
  • 10-1 BeanPostProcessor及其家族成员(上).mp4 52.40M
  • 10-10 创建动态代理(上).mp4 92.71M
  • 10-11 创建动态代理(中).mp4 53.22M
  • 10-12 本章小结.mp4 16.80M
  • 10-2 BeanPostProcessor及其家族成员(下).mp4 54.77M
  • 10-3 为什么在启动类加上@EnableAspectJAutoProxy就能支持AOP.mp4 88.36M
  • 10-4 AutoProxyCreator及其主要的家庭成员.mp4 69.26M
  • 10-5 横切逻辑的加载分析(上).mp4 126.98M
  • 10-6 横切逻辑的加载分析(中).mp4 108.92M
  • 10-7 横切逻辑的加载分析(下).mp4 98.12M
  • 10-8 筛选匹配的横切逻辑实例(上).mp4 68.36M
  • 10-9 筛选匹配的横切逻辑实例(下).mp4 72.72M
第11章 自研框架MVC的实现 【实战了解SpringMVC的核心脉络】13 集
  • 11-1 前情回顾.mp4 20.59M
  • 11-10 ResultRender矩阵的实现(上).mp4 102.03M
  • 11-11 ResultRender矩阵的实现(中).mp4 84.38M
  • 11-12 ResultRender矩阵的实现(下).mp4 90.34M
  • 11-13 本章小结.mp4 40.62M
  • 11-2 自研框架MVC的整体脉络.mp4 33.78M
  • 11-3 DispatcherServlet的重构.mp4 81.19M
  • 11-4 责任链RequestProcessorChain的实现.mp4 90.60M
  • 11-5 RequestProcessor矩阵的实现(1).mp4 25.42M
  • 11-6 RequestProcessor矩阵的实现(2).mp4 72.92M
  • 11-7 RequestProcessor矩阵的实现(3).mp4 103.42M
  • 11-8 RequestProcessor矩阵的实现(4).mp4 110.21M
  • 11-9 RequestProcessor矩阵的实现(5).mp4 37.79M
第12章 SpringMVC流程分析【摸通SpringMVC的应用】9 集
  • 12-1 springmvc的环境搭建以及初始化入口分析(上).mp4 42.80M
  • 12-2 spring mvc的环境搭建以及初始化入口分析(中).mp4 64.91M
  • 12-3 spring mvc的环境搭建以及初始化入口分析(下).mp4 65.15M
  • 12-4 Spring容器是执行refresh方法的入口.mp4 112.18M
  • 12-5 Request与Controller方法映射的创建(上).mp4 84.43M
  • 12-6 Request与Controller方法映射的创建(下).mp4 55.95M
  • 12-7 从映射关系里获取处理请求的逻辑实例.mp4 71.79M
  • 12-8 请求参数与执行方法的形参的绑定以及请求的处理.mp4 56.24M
  • 12-9 本章小结.mp4 8.52M
第13章 以终为始【全课总结】1 集
  • 13-1 课程总结.mp4 9.19M
第14章 实战ID303:剑指Java面试,Offer直通车【体验版】8 集
  • 14-1 剑指Java面试-Offer直通车.mp4 12.35M
  • 14-2 Collection体系.mp4 161.01M
  • 14-3 HashMap.mp4 118.89M
  • 14-4 ConcurrentHashMap.mp4 82.01M
  • 14-5 Java内存模型之常考题解析-1.mp4 94.32M
  • 14-6 Java内存模型之常考题解析-2.mp4 69.39M
  • 14-7 Java垃圾回收之常见面试题-1.mp4 75.21M
  • 14-8 Java垃圾回收之常见面试题-2.mp4 63.68M
第15章 实战ID144:毕设项目之校园商铺【体验版】1 集
  • 15-1 Java主流技术栈SSM+SpringBoot商铺系统.mp4 12.44M
第1章 课程导学与概览【为源码学习和框架开发备好足够弹药】2 集
  • 1-1 剑指造轮子,决胜Spring源码.mp4 10.04M
  • 1-2 学前需知.mp4 2.85M
第2章 环境准备【磨刀不误砍柴工】5 集
  • 2-1 Spring模块梳理.mp4 152.58M
  • 2-2 Spring源码的下载和编译.mp4 110.12M
  • 2-3 Spring源码的下载和编译.mp4 78.75M
  • 2-4 自研框架的整体介绍及雏形搭建.mp4 123.95M
  • 2-5 本章小结.mp4 17.57M
第3章 业务系统架子的构建【自研框架的起源】7 集
  • 3-1 项目业务梳理、数据库和实体类的设计.mp4 24.44M
  • 3-2 项目依赖配置以及门面模式讲解.mp4 84.17M
  • 3-3 项目依赖配置以及门面模式讲解.mp4 72.32M
  • 3-4 泛型讲解(上).mp4 130.12M
  • 3-5 泛型讲解(下).mp4 79.92M
  • 3-6 Service层代码架子的搭建.mp4 104.30M
  • 3-7 Controller层代码架子的搭建.mp4 105.46M
第4章 自研框架IOC实现前奏【从项目开发到框架开发的转换】12 集
  • 4-1 尝试引入简单工厂模式.mp4 25.28M
  • 4-10 注解背后的底层实现.mp4 68.50M
  • 4-11 IOC前传.mp4 93.07M
  • 4-12 本章小结.mp4 19.75M
  • 4-2 尝试引入工厂方法模式.mp4 56.34M
  • 4-3 尝试引入抽象工厂模式.mp4 55.41M
  • 4-4 利器之反射.mp4 76.21M
  • 4-5 反射之获取并操作构造函数.mp4 84.95M
  • 4-6 反射之获取并操作成员变量.mp4 75.86M
  • 4-7 反射之获取并操作成员方法.mp4 65.29M
  • 4-8 必知必会的注解.mp4 124.13M
  • 4-9 自定义注解的声明和使用.mp4 139.15M
第5章 自研框架IoC容器的实现 【实战了解SpringIOC的脉络】11 集
  • 5-1 实现思路概述以及注解标签的创建.mp4 17.38M
  • 5-10 实现容器的依赖注入【下】.mp4 102.62M
  • 5-11 本章小结.mp4 14.19M
  • 5-2 根据package获取类集合之通过类加载器获取资源信息.mp4 32.36M
  • 5-3 根据package获取类集合之实现Class对象的提取【上】.mp4 79.79M
  • 5-4 根据package获取类集合之实现Class对象的提取【下】.mp4 81.25M
  • 5-5 烂大街的单例真的足够安全吗.mp4 77.46M
  • 5-6 无视反射和序列化攻击的单例.mp4 73.49M
  • 5-7 容器的载体以及容器的加载.mp4 144.36M
  • 5-8 提供容器对外操作的方法.mp4 153.00M
  • 5-9 实现容器的依赖注入【上】.mp4 101.03M
第6章 SpringIoC容器的源码解析 【正式向Spring宣战】12 集
  • 6-1 挖掘切入源码的线索.mp4 61.25M
  • 6-10 xml配置的资源定位、加载、解析、注册全链路分析.mp4 45.90M
  • 6-11 注解配置的资源定位、加载、解析、注册全链路概览.mp4 107.63M
  • 6-12 本章小结.mp4 8.75M
  • 6-2 Beab与BeanDefinition.mp4 73.32M
  • 6-3 击破简单容器【上】.mp4 53.39M
  • 6-4 击破简单容器【下】.mp4 51.26M
  • 6-5 轰炸高级容器.mp4 102.11M
  • 6-6 弄清Resource、ResourceLoader、容器之间的微妙关系.mp4 113.58M
  • 6-7 ResourceLoader的使用者-BeanDefinitionReader.mp4 66.63M
  • 6-8 通过document对象解析出BeanDefinition实例.mp4 90.34M
  • 6-9 BeanDefinition的注册.mp4 71.39M
第7章 详解SpringIoC容器的初始化 【打通refresh方法的全链路】7 集
  • 7-1 进攻refresh方法前必会知识之PostProcessor.mp4 61.95M
  • 7-2 进攻refresh方法前必会知识之Aware及其子接口.mp4 14.53M
  • 7-3 进攻refresh方法前必会知识之时间监听器模式(上).mp4 79.68M
  • 7-4 进攻refresh方法前必会知识之时间监听器模式(下).mp4 68.04M
  • 7-5 手撕Spring容器的刷新逻辑(上).mp4 76.23M
  • 7-6 手撕Spring容器的刷新逻辑(下).mp4 85.44M
  • 7-7 本章小结.mp4 15.67M
第8章 精讲SpringIoC容器的依赖注入 【攻坚Bean实例的创建】13 集
  • 8-1 闪击依赖注入.mp4 41.48M
  • 8-10 doGetBean之populateBean.mp4 118.86M
  • 8-11 -1 populateBean之剩余逻辑解析.mp4 80.47M
  • 8-12 -2 populateBean之剩余逻辑解析.mp4 56.20M
  • 8-13 本章小结.mp4 10.61M
  • 8-2 夺取doGetBean之从缓存获取Bean.mp4 111.96M
  • 8-3 夺取doGetBean之剩余逻辑的扫荡.mp4 117.51M
  • 8-4 强攻Bean的创建.mp4 97.57M
  • 8-5 doCreateBean之创建无属性的Bean实例.mp4 79.87M
  • 8-6 doCreateBean之处理@Autowired以及@Value标签.mp4 79.90M
  • 8-7 doCreateBean之剩余逻辑的扫荡.mp4 71.72M
  • 8-8 单例循环依赖的解决.mp4 75.95M
  • 8-9 面试常问问题之Spring对循环依赖的支持情况.mp4 68.78M
第9章 自研框架AOP的讲解与实现 【实战了解SpringAOP的核心脉络】17 集
  • 9-1 前情回顾.mp4 15.89M
  • 9-10 实现自研框架AOP1.0(三).mp4 119.45M
  • 9-11 实现自研框架AOP1.0(四).mp4 91.12M
  • 9-12 裹上AspectJ的外衣.mp4 53.34M
  • 9-13 自研框架AOP2.0的实现(上).mp4 98.43M
  • 9-14 -1自研框架AOP2.0的实现(下).mp4 43.94M
  • 9-15 -2 自研框架AOP2.0的实现(下).mp4 103.14M
  • 9-16 本章小结10_25.mp4 11.19M
  • 9-2 自上而下从左到右(上).mp4 98.11M
  • 9-3 自上而下从左到右(下).mp4 72.99M
  • 9-4 AOP的子民们.mp4 102.95M
  • 9-5 SpringAOP的实现之代理模式讲解.mp4 63.88M
  • 9-6 SpringAOP的实现之JDK动态代理.mp4 132.42M
  • 9-7 SpringAOP的实现之CGLIB动态代理-.mp4 94.21M
  • 9-8 实现自研框架AOP1.0(一).mp4 122.28M
  • 9-9 实现自研框架AOP1.0(二).mp4 101.88M
  • mksz0420-剑指Java自研框架,决胜Spring源码/
  • 10-1 BeanPostProcessor及其家族.mp4