为什么还要手写框架?

绝大多数开发者对 Spring 的理解止步于“会用注解配置”,一旦遇到事务失效、AOP 不生效或自定义拦截器无法扩展时,往往束手无策。这门课《剑指 Java 自研框架》专治此类“假懂真懵”的病情。我们不满足于复述官方文档,而是通过从零手写一个最小可用框架,强制你还原 Spring 内部的设计思想与执行流程。只有亲手敲下代码,你才能理解为什么 Spring 这么复杂,以及它是如何解决问题的。

核心攻坚:AOP 与 MVC 的源码真相

课程分为两大硬核篇章,直击源码深水区。AOP 部分将彻底拆解动态代理的创建时机,深入分析 BeanPostProcessor 家族成员在容器启动时的关键作用,并详解横切逻辑如何被加载与精准匹配。这部分内容是理解声明式事务和日志切面的底层逻辑,也是区分初级与高级开发者的分水岭。

MVC 部分则通过重构 DispatcherServlet,带你走完一次完整的 HTTP 请求处理链路。你将亲手实现 RequestProcessor 责任链与 ResultRender 矩阵,清晰掌握参数绑定、视图解析及异常处理的底层实现原理。这两部分内容环环相扣,是从“使用者”进阶为“框架开发者”的必经之路,没有捷径可走。

学习门槛与实战产出

本内容适合有一定 Java 基础,熟悉 Spring 基本用法但渴望深入底层的开发者。建议在学习前,先系统复习 Spring IOC 容器初始化流程,否则在面对 BeanPostProcessor 源码分析时极易卡壳。资料包中的视频仅作辅助讲解,请务必对照代码逐行阅读源码,并在本地尝试修改参数观察运行差异,切勿只看不练。

学完本课程,你应具备独立推导 Spring 核心组件协作机制的能力,能够独立分析并修复复杂的源码逻辑,甚至具备二次开发轻量级 Web 框架的雏形。建议预留充足时间进行深度思考与编码实践,这是将知识转化为真正工程能力的唯一途径。

课程目录

第10章 SpringAOP的源码解析 【精准打击SpringAOP的核心源码】
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的核心脉络】
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的应用】
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章 以终为始【全课总结】
13-1 课程总结.mp4 9.19M
第14章 实战ID303:剑指Java面试,Offer直通车【体验版】
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:毕设项目之校园商铺【体验版】
15-1 Java主流技术栈SSM+SpringBoot商铺系统.mp4 12.44M
第1章 课程导学与概览【为源码学习和框架开发备好足够弹药】
1-1 剑指造轮子,决胜Spring源码.mp4 10.04M
1-2 学前需知.mp4 2.85M
第2章 环境准备【磨刀不误砍柴工】
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章 业务系统架子的构建【自研框架的起源】
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实现前奏【从项目开发到框架开发的转换】
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的脉络】
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宣战】
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-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实例的创建】
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的核心脉络】
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及其家族