第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 本章小结
第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 课程总结
第14章 实战ID303:剑指Java面试,Offer直通车【体验版】
剑指Offer,助你一臂之力~开启传送门的正确姿势:https://coding.imooc.com/class/303.html
14-1 剑指Java面试-Offer直通车
14-2 Collection体系
14-3 HashMap
14-4 ConcurrentHashMap
14-5 Java内存模型之常考题解析-1
14-6 Java内存模型之常考题解析-2
14-7 Java垃圾回收之常见面试题-1
14-8 Java垃圾回收之常见面试题-2
第15章 实战ID144:毕设项目之校园商铺【体验版】
基于SSM+SpringBoot两大主流技术栈的校园商铺项目,毕设的首选~~课程好不好,体验一下就知道~开启传送门正确姿势:https://coding.imooc.com/class/144.html
15-1 Java主流技术栈SSM+SpringBoot商铺系统
请先
!