课程详情 购买须知 售后保障
课程定位:绕过死记硬背,建立框架设计直觉 Java 后端开发者在面对 Spring 源码时,最常遇到的困境并非代码行数过多,而是缺乏整体架构视图。当直接切入 Spring 源码时,读者往往被大量的注解、反射和动态代理细节淹没,难以理清“为什么这么设计”的脉络。这门课程的核心价值在于其独特的双线并行策略:它没有选择直接解剖一个成熟的第三方框架,而是要求学习者在编写一套自研 Web 框架的过程中,同步对照理解 Spring 的核心实现机制。这种“造轮子”与“看源码”穿插进行的教学结构,本质上是在训练一种工程化的设计思维。通过亲手解决自研框架中的依赖注入、生命周期管理、AOP 切面等具体问题,学习者能够建立起对框架底层逻辑的具象认知,从而在后续阅读 Spring 源码时,不再是从零散的技巧点入手,而是能够站在架构设计的高度去审视每一行代码存在的必要性。这种从 0 到 1 的推导过程,是跨越从“使用框架”到“理解框架”再到“设计框架”门槛的最有效路径。前置基础与学习路径建议 由于课程涉及框架底层原理的深度剖析,学习者在进入正题前,需具备扎实的 Java 基础。这包括但不限于对 Java 集合框架的熟悉、对反射机制和动态代理原理的理解,以及对 Spring 框架本身作为使用者的熟练度。如果对上述概念尚显生疏,直接跟随本课程节奏可能会在原理讲解环节感到吃力。建议的学习路径应严格遵循课程的渐进式设计。首先,务必完整梳理 Spring 的整体模块架构,建立宏观的知识地图,明确 Core Container、AOP、Data Access 等各层级的职责边界,这是后续深入源码的地基。其次,重点攻克框架核心的两大支柱:Bean 容器的工作原理与 AOP 的动态代理机制。在自研框架的搭建阶段,不要急于追求功能的完备性,而应关注代码结构的扩展性和解耦设计。每当在自研过程中遇到实现瓶颈或设计取舍时,正是对照 Spring 源码寻找最优解的最佳时机。这种“实践-疑惑-查证-内化”的闭环,比单向灌输更能加深记忆。资料配合与实战产出 本课程提供的配套资料并非简单的视频播放列表,而是一套完整的工程化训练方案。在学习过程中,视频讲解提供了原理的拆解和设计思路的引导,而自研框架的代码实践则是检验理解的唯一标准。建议读者准备好独立的开发环境,跟随课程进度,逐步实现并完善自己的轻量级 Web 框架。在这个过程中,不要仅仅复制粘贴代码,而应尝试修改源码中的参数,观察输出结果的变化,或者主动重构某些模块以测试框架的扩展能力。课程的终极目标不是产出一个生产级别的框架,而是通过这一过程,让学习者获得独立分析其他复杂框架源码的能力。当学完本套资料后,你应该能够清晰地复述 Spring Bean 的生命周期,解释 AOP 代理对象的生成过程,并能自信地开始阅读其他开源框架的源码,因为框架设计的通用思想是相通的。这种可迁移的工程能力,才是本课程最核心的资产。 Spring源码轻松学 一课覆盖Spring核心知识点
剑指Java自研框架,决胜Spring源码
无论是Spring框架源码的学习,还是框架设计,入门门槛都太高,理解起来晦涩。课程想抓住这两个痛点,在自研框架和Spring框架的穿插讲解中让大家逐渐熟悉Spring框架的脉络。通过从0搭建一个较为完备的web框架来提升自己的框架设计能力,同时能够管中窥豹,去了解Spring框架的设计思路,再辅以通俗易懂的Spring核心模块源码的讲解,将课程门槛拉低,让大家通过学习本门课程后能够通过自己学习读懂Spring乃至其他框架的源码。
QQ截图20201202003129.png
(234.58 KB, 下载次数: 47)
下载附件
保存到相册
2020-12-2 00:31 上传
配套资料:
simpleframework-master.zip
springframework5.2.0.RELEASE-master.zip
视频教程:
1-1 剑指造轮子,决胜Spring源码.mp4
1-2 学前需知.mp4
2-1 Spring模块梳理.mp4
2-2 Spring源码的下载和编译.mp4
2-3 Spring源码的下载和编译.mp4
2-4 自研框架的整体介绍及雏形搭建.mp4
2-5 本章小结.mp4
3-1 项目业务梳理、数据库和实体类的设计.mp4
3-2 项目依赖配置以及门面模式讲解.mp4
3-3 项目依赖配置以及门面模式讲解.mp4
3-4 泛型讲解(上).mp4
3-5 泛型讲解(下).mp4
3-6 Service层代码架子的搭建.mp4
3-7 Controller层代码架子的搭建.mp4
4-1 尝试引入简单工厂模式.mp4
4-2 尝试引入工厂方法模式.mp4
4-3 尝试引入抽象工厂模式.mp4
4-4 利器之反射.mp4
4-5 反射之获取并操作构造函数.mp4
4-6 反射之获取并操作成员变量.mp4
4-7 反射之获取并操作成员方法.mp4
4-8 必知必会的注解.mp4
4-9 自定义注解的声明和使用.mp4
4-10 注解背后的底层实现.mp4
4-11 IOC前传.mp4
4-12 本章小结.mp4
5-1 实现思路概述以及注解标签的创建.mp4
5-2 根据package获取类集合之通过类加载器获取资源信息.mp4
5-3 根据package获取类集合之实现Class对象的提取【上】.mp4
5-4 根据package获取类集合之实现Class对象的提取【下】.mp4
5-5 烂大街的单例真的足够安全吗.mp4
5-6 无视反射和序列化攻击的单例.mp4
5-7 容器的载体以及容器的加载.mp4
5-8 提供容器对外操作的方法.mp4
5-9 实现容器的依赖注入【上】.mp4
5-10 实现容器的依赖注入【下】.mp4
5-11 本章小结.mp4
6-1 挖掘切入源码的线索.mp4
6-2 Beab与BeanDefinition.mp4
6-3 击破简单容器【上】.mp4
6-4 击破简单容器【下】.mp4
6-5 轰炸高级容器.mp4
6-6 弄清Resource、ResourceLoader、容器之间的微妙关系.mp4
6-7 ResourceLoader的使用者-BeanDefinitionReader.mp4
6-8 通过document对象解析出BeanDefinition实例.mp4
6-9 BeanDefinition的注册.mp4
6-10 xml配置的资源定位、加载、解析、注册全链路分析.mp4
6-11 注解配置的资源定位、加载、解析、注册全链路概览.mp4
6-12 本章小结.mp4
7-1 进攻refresh方法前必会知识之PostProcessor.mp4
7-2 进攻refresh方法前必会知识之Aware及其子接口.mp4
7-3 进攻refresh方法前必会知识之事件监听器模式(上).mp4
7-4 进攻refresh方法前必会知识之事件监听器模式(下).mp4
7-5 手撕Spring容器的刷新逻辑(上).mp4
7-6 手撕Spring容器的刷新逻辑(下).mp4
7-7 本章小结.mp4
8-1 闪击依赖注入.mp4
8-2 夺取doGetBean之从缓存获取Bean.mp4
8-3 夺取doGetBean之剩余逻辑的扫荡.mp4
8-4 强攻Bean的创建.mp4
8-5 doCreateBean之创建无属性的Bean实例.mp4
8-6 doCreateBean之处理@Autowired以及@Value标签.mp4
8-7 doCreateBean之剩余逻辑的扫荡.mp4
8-8 单例循环依赖的解决.mp4
8-9 面试常问问题之Spring对循环依赖的支持情况.mp4
8-10 doGetBean之populateBean.mp4
8-11 -1 populateBean之剩余逻辑解析.mp4
8-12 -2 populateBean之剩余逻辑解析.mp4
8-13 本章小结.mp4
9-1 前情回顾.mp4
9-2 自上而下从左到右(上).mp4
9-3 自上而下从左到右(下).mp4
9-4 AOP的子民们.mp4
9-5 SpringAOP的实现之代理模式讲解.mp4
9-6 SpringAOP的实现之JDK动态代理.mp4
9-7 SpringAOP的实现之CGLIB动态代理-.mp4
9-8 实现自研框架AOP1.0(一).mp4
9-9 实现自研框架AOP1.0(二).mp4
9-10 实现自研框架AOP1.0(三).mp4
9-11 实现自研框架AOP1.0(四).mp4
9-12 裹上AspectJ的外衣.mp4
9-13 自研框架AOP2.0的实现(上).mp4
9-14 -1自研框架AOP2.0的实现(下).mp4
9-15 -2 自研框架AOP2.0的实现(下).mp4
9-16 本章小结.mp4
10-1 BeanPostProcessor及其家族成员(上).mp4
10-2 BeanPostProcessor及其家族成员(下).mp4
10-3 为什么在启动类加上@EnableAspectJAutoProxy就能支持AOP.mp4
10-4 AutoProxyCreator及其主要的家庭成员.mp4
10-5 横切逻辑的加载分析(上).mp4
10-6 横切逻辑的加载分析(中).mp4
10-7 横切逻辑的加载分析(下).mp4
10-8 筛选匹配的横切逻辑实例(上).mp4
10-9 筛选匹配的横切逻辑实例(下).mp4
10-10 创建动态代理(上).mp4
10-11 创建动态代理(中).mp4
10-12 创建动态代理(下).mp4
10-13 本章小结.mp4
11-1 前情回顾.mp4
11-2 自研框架MVC的整体脉络.mp4
11-3 DispatcherServlet的重构.mp4
11-4 责任链RequestProcessorChain的实现.mp4
11-5 RequestProcessor矩阵的实现(1).mp4
11-6 RequestProcessor矩阵的实现(2).mp4
11-7 RequestProcessor矩阵的实现(3).mp4
11-8 RequestProcessor矩阵的实现(4).mp4
11-9 RequestProcessor矩阵的实现(5).mp4
11-10 ResultRender矩阵的实现(上).mp4
11-11 ResultRender矩阵的实现(中).mp4
11-12 ResultRender矩阵的实现(下).mp4
11-13 本章小结.mp4
12-1 springmvc的环境搭建以及初始化入口分析(上).mp4
12-2 spring mvc的环境搭建以及初始化入口分析(中).mp4
12-3 spring mvc的环境搭建以及初始化入口分析(下).mp4
12-4 Spring容器是执行refresh方法的入口.mp4
12-5 Request与Controller方法映射的创建(上).mp4
12-6 Request与Controller方法映射的创建(下).mp4
12-7 从映射关系里获取处理请求的逻辑实例.mp4
12-8 请求参数与执行方法的形参的绑定以及请求的处理.mp4
12-9 本章小结.mp4
13-1 课程总结.mp4