为什么还要手写框架?
绝大多数开发者对 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及其家族






